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

Tor Egge tegge at FreeBSD.org
Sun Oct 9 12:45:06 PDT 2005


tegge       2005-10-09 19:45:01 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ffs          ffs_snapshot.c 
  Log:
  Reduce the probability of low block numbers passed to ffs_snapblkfree() by
  skipping the call from ffs_snapremove() if the block number is zero.
  
  Simplify snapshot locking in ffs_copyonwrite() and ffs_snapblkfree() by using
  the same locking protocol for low block numbers as for larger block numbers.
  This removes a lock leak that could happen if vn_lock() succeeded after
  lockmgr() failed in ffs_snapblkfree().
  
  Check if snapshot is gone before retrying a lock in ffs_copyonwrite().
  
  Revision  Changes    Path
  1.107     +35 -55    src/sys/ufs/ffs/ffs_snapshot.c


More information about the cvs-all mailing list