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.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 52839 Build 49730: arc lint + arc unit
Event Timeline
sys/fs/unionfs/union_vfsops.c | ||
---|---|---|
326–327 | 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@) |
sys/fs/unionfs/union_vfsops.c | ||
---|---|---|
326–327 | 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. |