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@

Reply via email to