From owner-cvs-src Wed Mar 12 23:19:27 2003 Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4252337B401; Wed, 12 Mar 2003 23:19:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 99BD643FA3; Wed, 12 Mar 2003 23:19:23 -0800 (PST) (envelope-from jeff@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 h2D7JN0U002412; Wed, 12 Mar 2003 23:19:23 -0800 (PST) (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h2D7JN4c002411; Wed, 12 Mar 2003 23:19:23 -0800 (PST) Message-Id: <200303130719.h2D7JN4c002411@repoman.freebsd.org> From: Jeff Roberson Date: Wed, 12 Mar 2003 23:19:23 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_bio.c vfs_default.c vfs_subr.c src/sys/ufs/ffs ffs_vnops.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-src@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG jeff 2003/03/12 23:19:23 PST FreeBSD src repository Modified files: sys/kern vfs_bio.c vfs_default.c vfs_subr.c sys/ufs/ffs ffs_vnops.c Log: - Remove a race between fsync like functions and flushbufqueues() by requiring locked bufs in vfs_bio_awrite(). Previously the buf could have been written out by fsync before we acquired the buf lock if it weren't for giant. The cluster_wbuild() handles this race properly but the single write at the end of vfs_bio_awrite() would not. - Modify flushbufqueues() so there is only one copy of the loop. Pass a parameter in that says whether or not we should sync bufs with deps. - Call flushbufqueues() a second time and then break if we couldn't find any bufs without deps. Revision Changes Path 1.377 +32 -44 src/sys/kern/vfs_bio.c 1.79 +0 -1 src/sys/kern/vfs_default.c 1.436 +0 -1 src/sys/kern/vfs_subr.c 1.106 +2 -4 src/sys/ufs/ffs/ffs_vnops.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-src" in the body of the message