From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org, vsementsov@virtuozzo.com,
pbonzini@redhat.com, kwolf@redhat.com
Subject: [Qemu-devel] [PATCH v2 0/7] various NBD fixes for 2.11
Date: Wed, 8 Nov 2017 15:56:56 -0600 [thread overview]
Message-ID: <20171108215703.9295-1-eblake@redhat.com> (raw)
Sparked by my question on whether we were handling zero-length
reads correctly according to the NBD spec, but grew to fix
other things as well such as some typos, tracing weaknesses,
and better handling of read-only exports.
The order these patches are listed here is bisection-friendly,
but applying the patches out of order is necessary to catch
some of the bad behavior being fixed.
As evidenced by the iotest 147 change, this WILL flag existing
clients with dodgy usage when connecting to a read-only server
(such as the default for nbd-server-add). But on the bright side,
when libvirt drives storage migration via NBD, it is properly
setting up a read-write server with nbd-server-add.
Since v1 (https://lists.gnu.org/archive/html/qemu-devel/2017-11/msg00955.html):
- Tweak several commit messages now that NBD spec changes landed
- merge old 3/8 and 4/8 into single 2/7 that blocks read-write
connection to read-only export rather than magically downgrading it [Kevin]
001/7:[----] [--] 'nbd-client: Fix error message typos'
002/7:[down] 'nbd-client: Refuse read-only client with BDRV_O_RDWR'
003/7:[----] [--] 'nbd/client: Nicer trace of structured reply'
004/7:[----] [--] 'nbd: Fix struct name for structured reads'
005/7:[----] [-C] 'nbd-client: Short-circuit 0-length operations'
006/7:[----] [--] 'nbd-client: Stricter enforcing of structured reply spec'
007/7:[----] [--] 'nbd/server: Fix structured read of length 0'
Eric Blake (7):
nbd-client: Fix error message typos
nbd-client: Refuse read-only client with BDRV_O_RDWR
nbd/client: Nicer trace of structured reply
nbd: Fix struct name for structured reads
nbd-client: Short-circuit 0-length operations
nbd-client: Stricter enforcing of structured reply spec
nbd/server: Fix structured read of length 0
include/block/nbd.h | 18 +++++++++++++-----
block/nbd-client.c | 38 +++++++++++++++++++++++++++++++-------
nbd/client.c | 4 +++-
nbd/server.c | 23 +++++++++++++++++++++--
nbd/trace-events | 3 ++-
tests/qemu-iotests/147 | 1 +
6 files changed, 71 insertions(+), 16 deletions(-)
--
2.13.6
next reply other threads:[~2017-11-08 21:57 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-08 21:56 Eric Blake [this message]
2017-11-08 21:56 ` [Qemu-devel] [PATCH v2 1/7] nbd-client: Fix error message typos Eric Blake
2017-11-09 8:58 ` Vladimir Sementsov-Ogievskiy
2017-11-09 14:43 ` Eric Blake
2017-11-08 21:56 ` [Qemu-devel] [PATCH v2 2/7] nbd-client: Refuse read-only client with BDRV_O_RDWR Eric Blake
2017-11-08 22:07 ` Eric Blake
2017-11-08 22:23 ` [Qemu-devel] [PATCH v2 2.5/7] fixup! " Eric Blake
2017-11-09 9:05 ` Vladimir Sementsov-Ogievskiy
2017-11-09 9:04 ` [Qemu-devel] [PATCH v2 2/7] " Vladimir Sementsov-Ogievskiy
2017-11-08 21:56 ` [Qemu-devel] [PATCH v2 3/7] nbd/client: Nicer trace of structured reply Eric Blake
2017-11-09 9:10 ` Vladimir Sementsov-Ogievskiy
2017-11-08 21:57 ` [Qemu-devel] [PATCH v2 4/7] nbd: Fix struct name for structured reads Eric Blake
2017-11-09 9:13 ` Vladimir Sementsov-Ogievskiy
2017-11-08 21:57 ` [Qemu-devel] [PATCH v2 5/7] nbd-client: Short-circuit 0-length operations Eric Blake
2017-11-09 9:20 ` Vladimir Sementsov-Ogievskiy
2017-11-09 14:44 ` Eric Blake
2017-11-08 21:57 ` [Qemu-devel] [PATCH v2 6/7] nbd-client: Stricter enforcing of structured reply spec Eric Blake
2017-11-09 9:37 ` Vladimir Sementsov-Ogievskiy
2017-11-09 14:45 ` Eric Blake
2017-11-08 21:57 ` [Qemu-devel] [PATCH v2 7/7] nbd/server: Fix structured read of length 0 Eric Blake
2017-11-09 9:43 ` Vladimir Sementsov-Ogievskiy
2017-11-08 22:24 ` [Qemu-devel] [PATCH v2 0/7] various NBD fixes for 2.11 no-reply
2017-11-08 23:05 ` Eric Blake
2017-11-09 5:34 ` Fam Zheng
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=20171108215703.9295-1-eblake@redhat.com \
--to=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.com \
/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).