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

From: Christoph Hellwig
Date: Mon Oct 01 2012 - 04:46:07 EST


On Sun, Sep 30, 2012 at 05:58:11AM +0000, Nicholas A. Bellinger wrote:
> From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
>
> This patch re-adds the ability to optionally run in buffered FILEIO mode
> (eg: w/o O_DSYNC) for device backends in order to once again use the
> Linux buffered cache as a write-back storage mechanism.
>
> This difference with this patch is that fd_create_virtdevice() now
> forces the explicit setting of emulate_write_cache=1 when buffered FILEIO
> operation has been enabled.

What this lacks is a clear reason why you would enable this inherently
unsafe mode. While there is some clear precedence to allow people doing
stupid thing I'd least like a rationale for it, and it being documented
as unsafe.

> + /*

Indention error.

> + * Optionally allow fd_buffered_io=1 to be enabled for people
> + * who know what they are doing w/o O_DSYNC.
> + */

This comment doesn't explain at all what's going on here. It should be
something like

/*
* Unsafe mode allows disabling data integrity by not forcing
* data out to disk in writethrough cache mode. Only to be used
* for benchmark cheating or similar purposes.
*/

> #define FBDF_HAS_PATH 0x01
> #define FBDF_HAS_SIZE 0x02
> +#define FDBD_USE_BUFFERED_IO 0x04

This should be named BDBD_UNSAFE

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