Date: Tue, 17 Dec 2002 14:20:42 -0800 (PST) From: Kirk McKusick <mckusick@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_bio.c Message-ID: <200212172220.gBHMKg9T023839@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
mckusick 2002/12/17 14:20:42 PST
Modified files: (Branch: RELENG_5_0)
sys/kern vfs_bio.c
Log:
The buffer daemon cannot skip over buffers owned by locked inodes as
they may be the only viable ones to flush. Thus it will now wait for
an inode lock if the other alternatives will result in rollbacks (and
immediate redirtying of the buffer). If only buffers with rollbacks
are available, one will be flushed, but then the buffer daemon will
wait briefly before proceeding. Failing to wait briefly effectively
deadlocks a uniprocessor since every other process writing to that
filesystem will wait for the buffer daemon to clean up which takes
close enough to forever to feel like a deadlock.
Reported by: Archie Cobbs <archie@dellroad.org>
Sponsored by: DARPA & NAI Labs.
Approved by: re
MFC from: sys/kern/vfs_bio.c 1.343
Revision Changes Path
1.342.2.1 +63 -45 src/sys/kern/vfs_bio.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?200212172220.gBHMKg9T023839>
