Page MenuHomeFreeBSD

Remove VV_CROSSLOCK flag, and logic in nullfs and unionfs
Needs ReviewPublic

Authored by olce on Jul 3 2023, 12:53 PM.
Tags
None
Referenced Files
F102981753: D40852.diff
Tue, Nov 19, 11:09 AM
Unknown Object (File)
Sun, Nov 17, 7:21 AM
Unknown Object (File)
Sun, Nov 17, 7:06 AM
Unknown Object (File)
Wed, Nov 13, 4:15 AM
Unknown Object (File)
Mon, Nov 11, 10:05 AM
Unknown Object (File)
Oct 1 2024, 8:02 AM
Unknown Object (File)
Sep 14 2024, 11:22 AM
Unknown Object (File)
Sep 14 2024, 9:03 AM
Subscribers

Details

Reviewers
jah
mjg
kib
markj
Summary

This commit is part of a series whose goal is to remove the VV_CROSSLOCK vnode
flag and logic and fix a timing-dependent deadlock between lookup and unmount.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 52402
Build 49293: arc lint + arc unit

Event Timeline

olce requested review of this revision.Jul 3 2023, 12:53 PM
sys/fs/unionfs/union_vfsops.c
328

This will no longer hold true with the new locking protocol, will it? The lookup path should go back to its old pre-VV_CROSSLOCK behavior of dropping the covered vnode lock before calling VFS_ROOT() to lock the next vnode in the mount chain while holding mp busy (though it seems the exact details here might change depending on the outcome of your conversation with mjg@)

Remove an obsolete comment about a remaining LOR in unionfs on below mounts.

olce marked an inline comment as done.Jul 25 2023, 8:59 PM
olce added inline comments.
sys/fs/unionfs/union_vfsops.c
328

Indeed. Not sure why I didn't remove this part of the comment from the start.

This should be true with mjg@'s proposal as well, even if it differs in the way to avoid locking both the covered and root vnode at the same time.