Date: Sun, 9 Oct 2005 19:45:01 +0000 (UTC) From: Tor Egge <tegge@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ufs/ffs ffs_snapshot.c Message-ID: <200510091945.j99Jj1kg024437@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510091945.j99Jj1kg024437>
