tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ffs fsync patch - block devices and wapbl



hi,

> On Tue, Apr 19, 2011 at 11:44:16PM +0000, YAMAMOTO Takashi wrote:
>> hi,
>> 
>> > Block devices have two different properties.  First they are device nodes
>> > having access times etc. and reside on a file system.  Second they may have
>> > a file system mounted on them.  With WAPBL it is important to handle these
>> > properties separately.
>> > 
>> > Relevant PRs are 41189, 41192, 41977, 42149, 42551, 44377 and 44746 at 
>> > least.
>> > 
>> > The attached diff should solve these problems by:
>> > 
>> > - Replace the ugly sync loop in ffs_full_fsync() with vflushbuf().  This
>> >   loop is a left-over of softdeps and not needed anymore.
>> > 
>> > - Merge ffs_vfs_fsync() with ffs_full_fsync() so we have only on operation
>> >   whether the request comes from ffs or from other file system via 
>> > VFS_FSYNC().
>> > 
>> > - Take care which mount to test for WAPBL -- v_mount to update the times 
>> > and
>> >   wapbl_vptomp() to update the dirty blocks.  Never update times when 
>> > called
>> >   by VFS_FSYNC().
>> > 
>> > 
>> > Comments or objections?
>> 
>> thanks for taking a look on this.
>> 
>> ffs_fsync should not need to know if the filesystem used on its VBLK node is
>> ffs or not.  it should just call VFS_FSYNC as the other filesystems
>> (ie. spec_fsync) do.  the FSYNC_VFS flag should go away.
> 
> You mean like the attached diff?  All we loose is the ctime update.

sure.
i think you can keep the timestamp update by having ffs_spec_fsync which
calls (or does the equivalent of) spec_fsync and update the timestamp.

YAMAMOTO Takashi

> 
> -- 
> Juergen Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
> (Germany)


Home | Main Index | Thread Index | Old Index