cvs commit: src/sys/kern vfs_subr.c src/sys/sys buf.h bufobj.h vnode.h

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Oct 27 01:38:10 PDT 2004


In message <200410270824.i9R8OqGc019841 at 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 at 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.


More information about the cvs-src mailing list