Date: Wed, 27 Oct 2004 10:38:07 +0200 From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: Don Lewis <truckman@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 Message-ID: <61934.1098866287@critter.freebsd.dk> In-Reply-To: Your message of "Wed, 27 Oct 2004 01:24:52 PDT." <200410270824.i9R8OqGc019841@gw.catspoiler.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?61934.1098866287>