lkml.org 
[lkml]   [2012]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/6] target/file: Re-enable optional fd_buffered_io=1 operation
From
Date
On Mon, 2012-10-01 at 04:46 -0400, Christoph Hellwig wrote:
> On Sun, Sep 30, 2012 at 05:58:11AM +0000, Nicholas A. Bellinger wrote:
> > From: Nicholas Bellinger <nab@linux-iscsi.org>
> >
> > 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.
>

Fixed

> > + * 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.
> */
>

How about the following instead..?

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


> > #define FBDF_HAS_PATH 0x01
> > #define FBDF_HAS_SIZE 0x02
> > +#define FDBD_USE_BUFFERED_IO 0x04
>
> This should be named BDBD_UNSAFE
>

As we are keeping the same fd_buffered_io key=value usage that rtslib
user-space already knows about, how using FDBD_HAS_BUFFERED_IO_WCE
instead for consistency..?




\
 
 \ /
  Last update: 2012-10-02 23:01    [W:0.067 / U:2.592 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site