11afd11faa
calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks. Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain. Inspired by similar changes in OpenBSD, but implemented differently. |
||
---|---|---|
.. | ||
dinode.h | ||
dir.h | ||
inode.h | ||
Makefile | ||
quota.h | ||
ufs_bmap.c | ||
ufs_bswap.h | ||
ufs_extern.h | ||
ufs_ihash.c | ||
ufs_inode.c | ||
ufs_lookup.c | ||
ufs_quota.c | ||
ufs_readwrite.c | ||
ufs_vfsops.c | ||
ufs_vnops.c | ||
ufsmount.h |