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