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: http://svn.freebsd.org/changeset/base/211533
> 
> 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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to