[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1349209004.28145.61.camel@haakon2.linux-iscsi.org>
Date: Tue, 02 Oct 2012 13:16:44 -0700
From: "Nicholas A. Bellinger" <nab@...ux-iscsi.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: target-devel <target-devel@...r.kernel.org>,
linux-scsi <linux-scsi@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Mike Christie <michaelc@...wisc.edu>,
Hannes Reinecke <hare@...e.de>,
Roland Dreier <roland@...estorage.com>,
Andy Grover <agrover@...hat.com>,
Christoph Hellwig <hch@....de>, stable@...r.kernel.org
Subject: Re: [PATCH 1/6] target/file: Re-enable optional fd_buffered_io=1
operation
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@...ux-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..?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists