HomeFreeBSD

vfs_lookup(): re-check v_mountedhere on lock upgrade

Description

vfs_lookup(): re-check v_mountedhere on lock upgrade

The VV_CROSSLOCK handling logic may need to upgrade the covered
vnode lock depending upon the requirements of the filesystem into
which vfs_lookup() is walking. This may involve transiently
dropping the lock, which can allow the target mount to be unmounted.

Tested by: pho
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D39272

Details

Provenance
jahAuthored on Mar 28 2023, 6:06 PM
Reviewer
markj
Differential Revision
D39272: unionfs: remove LK_UPGRADE if falling back to the standard lock
Parents
rG93fe61afde72: unionfs_mkdir(): handle dvp reclamation
Branches
Unknown
Tags
Unknown