CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2021/04/28 03:53:53
Modified files:
sys/sys : vnode.h
sys/ufs/ffs : ffs_softdep.c
sys/kern : spec_vnops.c vfs_default.c vfs_subr.c
vfs_vnops.c vfs_vops.c
sys/miscfs/deadfs: dead_vnops.c
Log message:
Introduce a global vnode_mtx and use it to make vn_lock() safe to be called
without the KERNEL_LOCK.
This moves VXLOCK and VXWANT to a mutex protected v_lflag field and also
v_lockcount is protected by this mutex.
The vn_lock() dance is overly complex and all of this should probably replaced
by a proper lock on the vnode but such a diff is a lot more complex. This
is an intermediate step so that at least some calls can be modified to grab
the KERNEL_LOCK later or not at all.
OK mpi@