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-src
mailing list