Date: Tue, 8 Oct 2002 23:13:48 -0700 (PDT) From: Kirk McKusick <mckusick@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ufs/ffs ffs_snapshot.c Message-ID: <200210090613.g996DmjA034239@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
mckusick 2002/10/08 23:13:48 PDT
Modified files:
sys/ufs/ffs ffs_snapshot.c
Log:
When creating a snapshot, create a list of initially allocated blocks.
Whenever doing a copy-on-write check, first look in the list of
initially allocated blocks to see if it is there. If so, no further
check is needed. If not, fall through and do the full check. This
change eliminates one of two known deadlocks caused by snapshots.
Handling the second deadlock will be the subject of another check-in.
This change also reduces the cost of the copy-on-write check by
speeding up the verification of frequently checked blocks.
Sponsored by: DARPA & NAI Labs.
Revision Changes Path
1.43 +135 -7 src/sys/ufs/ffs/ffs_snapshot.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210090613.g996DmjA034239>
