CVSROOT: /cvs Module name: src Changes by: clau...@cvs.openbsd.org 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@