From owner-cvs-all@FreeBSD.ORG Tue Feb 8 20:29:11 2005 Return-Path: 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 1004E16A4CE; Tue, 8 Feb 2005 20:29:11 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4EFD43D48; Tue, 8 Feb 2005 20:29:10 +0000 (GMT) (envelope-from phk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j18KTABO072840; Tue, 8 Feb 2005 20:29:10 GMT (envelope-from phk@repoman.freebsd.org) Received: (from phk@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j18KTA3W072837; Tue, 8 Feb 2005 20:29:10 GMT (envelope-from phk) Message-Id: <200502082029.j18KTA3W072837@repoman.freebsd.org> From: Poul-Henning Kamp Date: Tue, 8 Feb 2005 20:29:10 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern vfs_bio.c src/sys/sys buf.h src/sys/ufs/ffs ffs_extern.h ffs_softdep.c ffs_vfsops.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2005 20:29:11 -0000 phk 2005-02-08 20:29:10 UTC FreeBSD src repository Modified files: sys/kern vfs_bio.c sys/sys buf.h sys/ufs/ffs ffs_extern.h ffs_softdep.c ffs_vfsops.c Log: Background writes are entirely an FFS/Softupdates thing. Give FFS vnodes a specific bufwrite method which contains all the background write stuff and then calls into the default bufwrite() for the rest of the job. Remove all the background write related stuff from the normal bufwrite. This drags the softdep_move_dependencies() back into FFS. Long term, it is worth looking at simply copying the data into allocated memory and issuing the bio directly and not create the "shadow buf" in the first place (just like copy-on-write is done in snapshots for instance). I don't think we really gain anything but complexity from doing this with a buf. Revision Changes Path 1.477 +5 -126 src/sys/kern/vfs_bio.c 1.184 +0 -8 src/sys/sys/buf.h 1.66 +1 -0 src/sys/ufs/ffs/ffs_extern.h 1.172 +1 -3 src/sys/ufs/ffs/ffs_softdep.c 1.276 +172 -1 src/sys/ufs/ffs/ffs_vfsops.c