Date: Fri, 29 Nov 2002 23:27:12 -0800 (PST) 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: <200211300727.gAU7RDgx026185@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
mckusick 2002/11/29 23:27:12 PST
Modified files:
sys/ufs/ffs ffs_snapshot.c
Log:
Fix two deadlocks in snapshots:
1) Release the snapshot file lock while suspending the system. Otherwise
a process trying to read the lock may block on its containing directory
preventing the suspension from completing. Thanks to Sean Kelly
<smkelly@zombie.org> for finding this deadlock.
2) Replace some bdwrite's with bawrite's so as not to fill all the
buffers with dirty data. The buffers could not be cleaned as the
snapshot vnode was locked hence the system could deadlock when
making snapshots of really massive filesystems. Thanks to
Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp> for figuring
this out.
Sponsored by: DARPA & NAI Labs.
Revision Changes Path
1.51 +7 -2 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?200211300727.gAU7RDgx026185>
