HomeFreeBSD

vfs: Move DEBUG_VFS_LOCKS checks to INVARIANTS

Description

vfs: Move DEBUG_VFS_LOCKS checks to INVARIANTS

It is easy to forget to configure DEBUG_VFS_LOCKS, and when one does, no
vnode lock assertions are checked when INVARIANTS is configured, so bugs
can arise. This has happened to me more than once, and the overhead
over DEBUG_VFS_LOCKS does not appear to be high enough to prohibit
folding it into INVARIANTS, so let's do that.

The change makes vnode lock assertions useful in plain INVARIANTS
kernels, and guards VOP debug routines on INVARIANTS rather than
DEBUG_VFS_LOCKS. Further, invariants are now checked by plain
assertions rather than having various sysctls to finely control what
happens the checks fail. The extra complexity didn't seem particularly
useful and is at odds with how we handle debugging most everywhere else.

Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D51402

Details

Provenance
markjAuthored on Jul 17 2025, 9:54 PM
Reviewer
kib
Differential Revision
D51402: vfs: Move DEBUG_VFS_LOCKS checks to INVARIANTS
Parents
rG22afc767869a: libutil: Add missing MLINKs
Branches
Unknown
Tags
Unknown