svn commit: r211533 - in stable/7/sys: cddl/contrib/opensolaris/uts/common/fs/zfs fs/cd9660 fs/udf kern sys ufs/ffs

John Baldwin jhb at
Mon Aug 23 12:40:40 UTC 2010

On Friday, August 20, 2010 4:58:57 pm John Baldwin wrote:
> Author: jhb
> Date: Fri Aug 20 20:58:57 2010
> New Revision: 211533
> URL:
> Log:
>   Revert 210173 as it did not properly fix the bug.  It assumed that the
>   VI_LOCK() for a given vnode was used as the internal interlock for that
>   vnode's v_lock lockmgr lock.  This is not the case.  Instead, add dedicated
>   routines to toggle the LK_NOSHARE and LK_CANRECURSE flags.  These routines
>   lock the lockmgr lock's internal interlock to synchronize the updates to
>   the flags member with other threads attempting to acquire the lock.  The
>   VN_LOCK_A*() macros now invoke these routines, and the softupdates code
>   uses these routines to temporarly enable recursion on buffer locks.

This is a direct commit rather than an MFC as the lockmgr implementation is
completely different in relation to this bug than in 8.x and later.

John Baldwin

More information about the svn-src-stable-7 mailing list