[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 0/7] various NBD fixes for 2.11

From: Eric Blake
Subject: [Qemu-devel] [PATCH v2 0/7] various NBD fixes for 2.11
Date: Wed, 8 Nov 2017 15:56:56 -0600

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(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]