cvs commit: src/sys/ufs/ffs ffs_vnops.c

Jeff Roberson jeff at
Mon Mar 31 00:55:45 PDT 2008

jeff        2008-03-31 07:55:45 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ffs          ffs_vnops.c 
   - Since rev 1.142 of ffs_snapshot.c the interlock has not been required
     to protect the v_lock pointer.  Removing the interlock acquisition
     here allows vn_lock() to proceed without requiring the interlock
     at all.
   - If the lock mutated while we were sleeping on it the interlock has
     been dropped.  It is conceivable that the upper layer code was
     relying on the interlock and LK_NOWAIT to protect the identity or
     state of the vnode while acquiring the lock.  In this case return
     EBUSY rather than trying the new lock to prevent potential races.
  Reviewed by:    tegge
  Revision  Changes    Path
  1.182     +4 -11     src/sys/ufs/ffs/ffs_vnops.c

More information about the cvs-src mailing list