Re: vfs: Add MS_FLUSHONFSYNC mount flag

From: Fernando Luis Vázquez Cao
Date: Thu Feb 12 2009 - 20:14:53 EST


On Thu, 2009-02-12 at 11:13 -0600, Eric Sandeen wrote:
> Fernando Luis VÃzquez Cao wrote:
> > This mount flag will be used to determine whether the block device's write
> > cache should be flush or not on fsync()/fdatasync().
> >
> > Signed-off-by: Fernando Luis Vazquez Cao <fernando@xxxxxxxxxxxxx>
> > ---
>
> Again, apologies for chiming in late.
>
> But wouldn't it be better to make this a block device property rather
> than a new filesystem mount option?
>
> That way the filesystem can always do "the right thing" and call the
> blkdev flush on fsync.
>
> 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.
>
> Somewhere in the middle, if an administrator knows they have a UPS they
> trust and hardware that stays connected to it, they could tune the bdev
> to ignore these flush requests.
>
> Also that way if you have 8 partitions on a battery-backed blockdev, you
> can tune it once, instead of needing to mount all 8 filesystems with the
> new option.

The main reason I decided to go for the mount option approach is to be
consistent with what we do when it comes to write barriers. Treating one
as a mount option and the other as a (possibly) sysfs tunable property
seems a bit confusing to me.

Do you suggest using sysfs tunables instead?

- 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/