Page MenuHomeFreeBSD

vfs: stop unlocking the vnode upfront in vput
ClosedPublic

Authored by mjg on Jan 24 2020, 1:45 AM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 9 2025, 1:18 AM
Unknown Object (File)
Jan 8 2025, 11:32 AM
Unknown Object (File)
Jan 8 2025, 11:11 AM
Unknown Object (File)
Jan 7 2025, 11:29 AM
Unknown Object (File)
Nov 29 2024, 5:49 PM
Unknown Object (File)
Nov 27 2024, 6:21 AM
Unknown Object (File)
Nov 23 2024, 10:14 PM
Unknown Object (File)
Oct 20 2024, 10:33 AM
Subscribers

Details

Summary

Doing so runs into races with filesystems which make half-constructed vnodes visible to other users, while depending on the chain vput -> vinactive -> vrecycle to be executed without dropping the vnode lock.

Impediments for making this work got cleared up (notably vop_unlock_post now does not do anything and lockmgr stops touching the lock after the final write). Stacked filesystems keep vhold/vdrop across unlock, which arguably can now be eliminated.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable