[Libguestfs] [PATCH v3 00/14] qemu patches for 64-bit NBD extensions

Eric Blake eblake at redhat.com
Mon May 15 19:53:29 UTC 2023


v2 was here:
https://lists.gnu.org/archive/html/qemu-devel/2022-11/msg02340.html

Since then:
 - upstream NBD has accepted the extension on a branch; once multiple
   implementations interoperate based on that spec, it will be promoted
   to mainline (my plan: qemu with this series, libnbd nearly ready to
   go, nbdkit a bit further out)
 - rebase to block changes in meantime
 - drop RFC patches for 64-bit NBD_CMD_READ (NBD spec did not take them)
 - per upstream spec decision, extended headers now mandates use of
   NBD_REPLY_TYPE_BLOCK_STATUS_EXT rather than server choice based on
   reply size, which in turn required rearranging server patches a bit
 - other changes that I noticed while testing with parallel changes
   being added to libnbd (link to those patches to follow in the next
   week or so)

Eric Blake (14):
  nbd/client: Use smarter assert
  nbd/client: Add safety check on chunk payload length
  nbd/server: Prepare for alternate-size headers
  nbd: Prepare for 64-bit request effect lengths
  nbd: Add types for extended headers
  nbd/server: Refactor handling of request payload
  nbd/server: Refactor to pass full request around
  nbd/server: Support 64-bit block status
  nbd/server: Initial support for extended headers
  nbd/client: Initial support for extended headers
  nbd/client: Accept 64-bit block status chunks
  nbd/client: Request extended headers during negotiation
  nbd/server: Prepare for per-request filtering of BLOCK_STATUS
  nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS

 docs/interop/nbd.txt                          |   1 +
 include/block/nbd.h                           | 165 +++--
 nbd/nbd-internal.h                            |   8 +-
 block/nbd.c                                   |  86 ++-
 nbd/client-connection.c                       |   4 +-
 nbd/client.c                                  | 143 ++--
 nbd/common.c                                  |  10 +-
 nbd/server.c                                  | 653 ++++++++++++------
 qemu-nbd.c                                    |   4 +
 block/trace-events                            |   1 +
 nbd/trace-events                              |  11 +-
 tests/qemu-iotests/223.out                    |  18 +-
 tests/qemu-iotests/233.out                    |   5 +
 tests/qemu-iotests/241.out                    |   3 +
 tests/qemu-iotests/307.out                    |  15 +-
 .../tests/nbd-qemu-allocation.out             |   3 +-
 16 files changed, 797 insertions(+), 333 deletions(-)


base-commit: 18b6727083acceac5d76ea0b8cb6f5cdef6858a7
-- 
2.40.1



More information about the Libguestfs mailing list