Re: [PATCH 1/6] target/file: Re-enable optional fd_buffered_io=1operation

From: Nicholas A. Bellinger
Date: Wed Oct 03 2012 - 20:02:30 EST


On Wed, 2012-10-03 at 07:47 -0400, Christoph Hellwig wrote:
> On Tue, Oct 02, 2012 at 01:16:44PM -0700, Nicholas A. Bellinger wrote:
> > * Optionally allow fd_buffered_io=1 to be enabled for people
> > * who want use the fs buffer cache as an WriteCache mechanism.
> > *
> > * This means that in event of a hard failure, there is a risk
> > * of silent data-loss if the SCSI client has *not* performed a
> > * forced unit access (FUA) write, or issued SYNCHRONIZE_CACHE
> > * to write-out the entire device cache.
> > */
>
> Oh, I get Vlads flame. This doesn't simply disable O_DSYNC now but also
> sets WCE=1. In this case I don't really get the point of the patch, why
> can't we simply set it from configfs?
>

The patch prevents existing user-space code from using fd_buffered_io=1
operation incorrectly regardless of what is being set for
emulate_write_cache device attribute.

Using FILEIO w/o O_DSYNC + emulate_write_cache=0 is certainly a big
no-no regardless of context, so I'd rather enforce the right thing to do
here from kernel code for this special case instead of allowing an
unsafe mode to be enabled by default + set attributes from user-space.

--nab

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