From owner-cvs-all Tue Dec 17 14:20:44 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A74C37B401; Tue, 17 Dec 2002 14:20:43 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B24943E4A; Tue, 17 Dec 2002 14:20:43 -0800 (PST) (envelope-from mckusick@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBHMKhmV023841; Tue, 17 Dec 2002 14:20:43 -0800 (PST) (envelope-from mckusick@repoman.freebsd.org) Received: (from mckusick@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBHMKg9T023839; Tue, 17 Dec 2002 14:20:42 -0800 (PST) Message-Id: <200212172220.gBHMKg9T023839@repoman.freebsd.org> From: Kirk McKusick Date: Tue, 17 Dec 2002 14:20:42 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_bio.c X-FreeBSD-CVS-Branch: RELENG_5_0 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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 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