Re: vfs: Add MS_FLUSHONFSYNC mount flag

From: Fernando Luis Vázquez Cao
Date: Sun Feb 15 2009 - 02:23:40 EST


On Sat, 2009-02-14 at 10:36 -0500, Christoph Hellwig wrote:
> On Thu, Feb 12, 2009 at 12:29:52PM -0500, Jeff Garzik wrote:
> >> The block device *could* choose to ignore this in hardware if it knows
> >> it's built with a nonvolatile write cache or if it has no write cache.
> >
> > That would certainly be my preference -- turn this ON by default, and
> > them if a layer NEEDS to ignore it, it can.
>
> Yeah, and we should integrate this with the barriers settings.
>
> I think the right setup is:
>
> - each gendisk has a variable to indicate if we have a write-back
> cache, which is filled from scsi inquiry data (or whatever the
> equivalent in the storage protocol is), but we allow an override
> from userspace if the admin knows better (if he really does or
> wants to play fast and lose is the admin's business)
> - filesystems do the right things by using barriers and cache flushes
> if they see the underlying device needs it.

That makes sense, but the contentious issue seems to be whether the
override from userspace you mention should take the form of mount option
or per-block device sysfs tunable instead. Making this override
(flushonfsync in my patches) be a mount option would be consistent with
what filesystems such as ext3/4 and xfs do when it comes to barriers,
but, if there is consensus, I would not mind turning it into a
per-device tunable instead.

You mentioned "we should integrate this with the barrier settings". Do
you imply we should make it a per-device tunable too? Should we keep the
barrier-related mount options some filesystems provide?

- Fernando

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/