tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Restructure vfs_busy and friends



On Fri, Apr 14, 2017 at 12:22:48PM +0200, J. Hannken-Illjes wrote:
> Currently we have:
> 
> - vfs_busy(mp, NULL) to take a reference on the mount and enter
>   a critical section against unmounting.
> 
> - vfs_unbusy(mp, keepref, NULL) to leave the critical section and
>   release the reference if "keepref == false".
> 
> - atomic_inc_uint(&mp->mnt_refcnt) to take a reference on the mount.
> 
> - vfs_destroy(mp) to release a reference on the mount.
> 
> Plan is to restructure this as follows:
> 
> - vfs_busy(mp) takes a reference and enters a critical section.
>   The second "NULL" argument gets removed.
> 
> - vfs_unbusy(mp) leaves the critical section and releases the reference.
>   The second and the third "NULL" argument gets removed.
>   Calls with "keepref == true" get preceeded by vfs_ref(mp);
> 
> - vfs_ref(mp) takes a reference.
>   Atomic increments get replaced by vfs_ref(mp).
> 
> - vfs_rele(mp) releases a reference.
>   Vfs_destroy(mp) gets renamed to vfs_rele(mp).
> 
> Operation vfs_trybusy(mp) gets added when needed.
> 
> Comments or objections?

sounds good to me.

-Chuck


Home | Main Index | Thread Index | Old Index