Date: Sat, 30 Nov 2002 11:00:51 -0800 (PST) From: Kirk McKusick <mckusick@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_lock.c src/sys/sys lockmgr.h src/sys/ufs/ffs ffs_snapshot.c Message-ID: <200211301900.gAUJ0p8R069443@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
mckusick 2002/11/30 11:00:51 PST
Modified files:
sys/kern kern_lock.c
sys/sys lockmgr.h
sys/ufs/ffs ffs_snapshot.c
Log:
Remove a race condition / deadlock from snapshots. When
converting from individual vnode locks to the snapshot
lock, be sure to pass any waiting processes along to the
new lock as well. This transfer is done by a new function
in the lock manager, transferlockers(from_lock, to_lock);
Thanks to Lamont Granquist <lamont@scriptkiddie.org> for
his help in pounding on snapshots beyond all reason and
finding this deadlock.
Sponsored by: DARPA & NAI Labs.
Revision Changes Path
1.60 +37 -6 src/sys/kern/kern_lock.c
1.35 +2 -0 src/sys/sys/lockmgr.h
1.52 +112 -54 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?200211301900.gAUJ0p8R069443>
