From owner-cvs-all@FreeBSD.ORG Wed Oct 27 08:38:09 2004 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 CC8E616A4CE; Wed, 27 Oct 2004 08:38:09 +0000 (GMT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 31C4A43D49; Wed, 27 Oct 2004 08:38:09 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.13.1/8.13.1) with ESMTP id i9R8c7lW061935; Wed, 27 Oct 2004 10:38:07 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: Don Lewis From: "Poul-Henning Kamp" In-Reply-To: Your message of "Wed, 27 Oct 2004 01:24:52 PDT." <200410270824.i9R8OqGc019841@gw.catspoiler.org> Date: Wed, 27 Oct 2004 10:38:07 +0200 Message-ID: <61934.1098866287@critter.freebsd.dk> Sender: phk@critter.freebsd.dk cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern vfs_subr.c src/sys/sys buf.h bufobj.h vnode.h 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: Wed, 27 Oct 2004 08:38:10 -0000 In message <200410270824.i9R8OqGc019841@gw.catspoiler.org>, Don Lewis writes: >On 27 Oct, Poul-Henning Kamp wrote: >> phk 2004-10-27 08:05:03 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/kern vfs_subr.c >> sys/sys buf.h bufobj.h vnode.h >> Log: >> Move the syncer linkage from vnode to bufobj. >> >> This is not quite a perfect separation: the syncer still think it knows >> that everything is a vnode. > >This change strikes me as wrong. The syncer has to handle things like >inode timestamps (utimes(2)) and fifos, which I wouldn't expect to have >bufobjs. The syncers job is to push dirty buffers onto disk. In the process it will need to call back into whoever owns the buffer so they can do their private housekeeping as necessary. So the syncer doesn't deal with timestamps, the filesystems do. The current code does not quite reflect that, I need to add a specific method to the bufobj method vector for this purpose. I guess the easiest way to spot where these kinds of things happen is where you still see b_vp appear. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.