HomeFreeBSD

Remove witness directives from crossmp locking VOPs

Description

Remove witness directives from crossmp locking VOPs

These are of limited use since the crossmp vnode locking ops have not
actually used a lock since commit
a2d35545429117e68fbcbc68e14ad55e84265d69. We in fact require that
these operations are always issued with LK_SHARED. Additionally,
these directives can produce a false positive in certain VV_CROSSLOCK
cases which require upgrading of the covered vnode lock from shared
to exclusive.

While here, replace the runtime check of LK_SHARED with a KASSERT and
expand the check to include LK_NOWAIT, which all callers pass.

Reviewed by: kib
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D35054

Details

Provenance
jahAuthored on Aug 5 2022, 5:39 AM
Reviewer
kib
Differential Revision
D35054: Add VV_CROSSLOCK vnode flag to avoid cross-mount lookup LOR
Parents
rG080ef8a41851: Add VV_CROSSLOCK vnode flag to avoid cross-mount lookup LOR
Branches
Unknown
Tags
Unknown