From: Alex Bligh <alex@alex.org.uk>
To: Christoph Hellwig <hch@infradead.org>
Cc: Alex Bligh <alex@alex.org.uk>, Wouter Verhelst <w@uter.be>,
"nbd-general@lists.sourceforge.net"
<nbd-general@lists.sourceforge.net>, Josef Bacik <jbacik@fb.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-block@vger.kernel.org, Markus Pargmann <mpa@pengutronix.de>,
kernel-team@fb.com
Subject: Re: [Nbd] [RESEND][PATCH 0/5] nbd improvements
Date: Thu, 15 Sep 2016 12:56:59 +0100 [thread overview]
Message-ID: <918692FE-9B1B-4F33-8626-731F48909F41@alex.org.uk> (raw)
In-Reply-To: <20160915114610.GA6411@infradead.org>
> On 15 Sep 2016, at 12:46, Christoph Hellwig <hch@infradead.org> wrote:
>
> On Thu, Sep 15, 2016 at 12:43:35PM +0100, Alex Bligh wrote:
>> Sure, it's at:
>>
>> https://github.com/yoe/nbd/blob/master/doc/proto.md#ordering-of-messages-and-writes
>>
>> and that link takes you to the specific section.
>>
>> The treatment of FLUSH and FUA is meant to mirror exactly the
>> linux block layer (or rather how the linux block layer was a few
>> years ago). I even asked on LKML to verify a few points.
>
> Linux never expected ordering on the wire. Before 2010 we had barriers
> in the kernel that provided ordering to the caller, but we never
> required it from the protocol / hardware.
Sure. And I think the doc section reflects exactly Linux's post-2010
expectations (note the link to the kernel documentation). IE
servers are not required to order reads/writes (save that all
writes that the server completes prior to reply to an NBD_CMD_FLUSH
must be persisted prior to the reply to that NBD_CMD_FLUSH
which I believe to be exactly the same behaviour as the kernel
dealing with an empty bio with REQ_FLUSH set).
Perhaps the section should be called "No ordering of messages
and writes"!
My point was that *in practice* disordering is not well tested
as *in practice* many server implementations do in fact process
each command in order, though that's changed recently.
--
Alex Bligh
next prev parent reply other threads:[~2016-09-15 11:57 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-08 21:12 [RESEND][PATCH 0/5] nbd improvements Josef Bacik
2016-09-08 21:12 ` [PATCH 1/5] nbd: convert to blkmq Josef Bacik
2016-09-08 21:12 ` [PATCH 2/5] nbd: don't shutdown sock with irq's disabled Josef Bacik
2016-09-08 21:12 ` [PATCH 3/5] nbd: use flags instead of bool Josef Bacik
2016-09-09 1:20 ` Joe Perches
2016-09-09 13:55 ` Jens Axboe
2016-09-09 16:04 ` Joe Perches
2016-09-09 16:11 ` Jens Axboe
2016-09-09 16:15 ` Joe Perches
2016-09-09 16:20 ` Jens Axboe
2016-09-08 21:12 ` [PATCH 4/5] nbd: allow block mq to deal with timeouts Josef Bacik
2016-09-08 21:12 ` [PATCH 5/5] nbd: add multi-connection support Josef Bacik
2016-09-10 7:43 ` Christoph Hellwig
2016-09-12 13:11 ` Josef Bacik
2016-09-09 20:02 ` [Nbd] [RESEND][PATCH 0/5] nbd improvements Wouter Verhelst
2016-09-09 20:36 ` Josef Bacik
2016-09-09 20:55 ` Wouter Verhelst
2016-09-09 23:00 ` Josef Bacik
2016-09-09 23:37 ` Jens Axboe
2016-09-15 10:49 ` Wouter Verhelst
2016-09-15 11:09 ` Alex Bligh
2016-09-15 11:29 ` Wouter Verhelst
2016-09-15 11:40 ` Christoph Hellwig
2016-09-15 11:46 ` Alex Bligh
2016-09-15 11:52 ` Christoph Hellwig
2016-09-15 12:01 ` Wouter Verhelst
2016-09-15 12:20 ` Christoph Hellwig
2016-09-15 12:26 ` Wouter Verhelst
2016-09-15 12:27 ` Christoph Hellwig
2016-09-15 12:04 ` Alex Bligh
2016-09-15 11:39 ` Christoph Hellwig
2016-09-15 13:34 ` Eric Blake
2016-09-15 14:07 ` Paolo Bonzini
2016-09-15 15:23 ` Alex Bligh
2016-09-15 21:10 ` Paolo Bonzini
2016-09-15 15:25 ` Alex Bligh
2016-09-15 11:38 ` Christoph Hellwig
2016-09-15 11:43 ` Alex Bligh
2016-09-15 11:46 ` Christoph Hellwig
2016-09-15 11:56 ` Alex Bligh [this message]
2016-09-15 11:55 ` Wouter Verhelst
2016-09-15 12:01 ` Christoph Hellwig
2016-09-15 12:11 ` Alex Bligh
2016-09-15 12:18 ` Christoph Hellwig
2016-09-15 12:28 ` Alex Bligh
2016-09-15 12:21 ` Wouter Verhelst
2016-09-15 12:23 ` Christoph Hellwig
2016-09-15 12:33 ` Alex Bligh
2016-09-15 12:36 ` Christoph Hellwig
2016-09-15 12:39 ` Alex Bligh
2016-09-15 12:41 ` Christoph Hellwig
2016-09-15 12:44 ` Alex Bligh
2016-09-15 13:17 ` Wouter Verhelst
2016-09-15 13:57 ` Josef Bacik
2016-09-15 15:17 ` Alex Bligh
2016-09-15 16:08 ` Alex Bligh
2016-09-15 16:27 ` Wouter Verhelst
2016-09-15 16:42 ` Alex Bligh
2016-09-15 19:02 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=918692FE-9B1B-4F33-8626-731F48909F41@alex.org.uk \
--to=alex@alex.org.uk \
--cc=hch@infradead.org \
--cc=jbacik@fb.com \
--cc=kernel-team@fb.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpa@pengutronix.de \
--cc=nbd-general@lists.sourceforge.net \
--cc=w@uter.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).