[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160915121818.GA1155@infradead.org>
Date: Thu, 15 Sep 2016 05:18:18 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Alex Bligh <alex@...x.org.uk>
Cc: Christoph Hellwig <hch@...radead.org>, Wouter Verhelst <w@...r.be>,
"nbd-general@...ts.sourceforge.net"
<nbd-general@...ts.sourceforge.net>, linux-block@...r.kernel.org,
Josef Bacik <jbacik@...com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
mpa@...gutronix.de, kernel-team@...com
Subject: Re: [Nbd] [RESEND][PATCH 0/5] nbd improvements
On Thu, Sep 15, 2016 at 01:11:24PM +0100, Alex Bligh wrote:
> > NBD_CMD_FLUSH (3)
> >
> > A flush request; a write barrier.
>
> I can see that's potentially confusing as isn't meant to mean 'an old-style
> linux kernel block device write barrier'. I think in general terms it
> probably is some form of barrier, but I see no problem in deleting the
> words "a write barrier" from the spec text if only to make it
> clearer.
Yes, please do that. A "barrier" implies draining of the queue.
> However, I think the description of the command itself:
>
> > The server MUST NOT send a successful reply header for this request before all write requests for which a reply has already been sent to the client have reached permanent storage (using fsync() or similar).
>
> and the ordering section I pointed you to before, were both correct, yes?
Yes, this seems correct.
> actually fdatasync() technically does more than is necessary, as it
> will also flush commands that have been processed, but for which no
> reply has yet been sent - that's no bad thing.
Yes. But without an actual barrier it's hard to be exact - and
fdatasync does the right thing by including false positives.
Powered by blists - more mailing lists