[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/15] qemu patches for 64-bit NBD extensions
From: |
Eric Blake |
Subject: |
[PATCH v2 00/15] qemu patches for 64-bit NBD extensions |
Date: |
Mon, 14 Nov 2022 16:48:33 -0600 |
This series implements the spec changes in a counterpart NBD series,
and has been tested to be interoperable with libnbd implementing the
same spec. I'm not too happy with the RFC patch at the end, but
implemented it for discussion. Given the release timing, this would
be qemu 8.0 material if we are happy with the direction the spec is
headed in.
Eric Blake (15):
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: Initial support for extended headers
nbd/server: Support 64-bit block status
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
RFC: nbd/client: Accept 64-bit hole chunks
RFC: nbd/server: Send 64-bit hole chunk
docs/interop/nbd.txt | 1 +
include/block/nbd.h | 163 +++--
nbd/nbd-internal.h | 8 +-
block/nbd.c | 102 ++-
nbd/client-connection.c | 1 +
nbd/client.c | 132 +++-
nbd/common.c | 14 +-
nbd/server.c | 636 +++++++++++++-----
qemu-nbd.c | 3 +
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(+), 319 deletions(-)
--
2.38.1
- [libnbd PATCH v2 04/23] states: Prepare to send 64-bit requests, (continued)
- [libnbd PATCH v2 04/23] states: Prepare to send 64-bit requests, Eric Blake, 2022/11/14
- [libnbd PATCH v2 14/23] info: Expose extended-headers support through nbdinfo, Eric Blake, 2022/11/14
- [libnbd PATCH v2 08/23] block_status: Track 64-bit extents internally, Eric Blake, 2022/11/14
- [libnbd PATCH v2 01/23] block_status: Refactor array storage, Eric Blake, 2022/11/14
- [libnbd PATCH v2 05/23] states: Prepare to receive 64-bit replies, Eric Blake, 2022/11/14
- [libnbd PATCH v2 18/23] generator: Actually request extended headers, Eric Blake, 2022/11/14
- [libnbd PATCH v2 20/23] interop: Add test of 64-bit block status, Eric Blake, 2022/11/14
- [libnbd PATCH v2 06/23] states: Break deadlock if server goofs on extended replies, Eric Blake, 2022/11/14
- [libnbd PATCH v2 17/23] ocaml: Add example for 64-bit extents, Eric Blake, 2022/11/14
- [libnbd PATCH v2 07/23] generator: Add struct nbd_extent in prep for 64-bit extents, Eric Blake, 2022/11/14
- [PATCH v2 00/15] qemu patches for 64-bit NBD extensions,
Eric Blake <=
- [PATCH v2 15/15] RFC: nbd/server: Send 64-bit hole chunk, Eric Blake, 2022/11/14
- [PATCH v2 14/15] RFC: nbd/client: Accept 64-bit hole chunks, Eric Blake, 2022/11/14
- [PATCH v2 06/15] nbd/server: Refactor to pass full request around, Eric Blake, 2022/11/14
- [PATCH v2 11/15] nbd/client: Request extended headers during negotiation, Eric Blake, 2022/11/14
- [PATCH v2 12/15] nbd/server: Prepare for per-request filtering of BLOCK_STATUS, Eric Blake, 2022/11/14
- [PATCH v2 13/15] nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS, Eric Blake, 2022/11/14
- [PATCH v2 10/15] nbd/client: Accept 64-bit block status chunks, Eric Blake, 2022/11/14
- [PATCH v2 07/15] nbd/server: Initial support for extended headers, Eric Blake, 2022/11/14
- [PATCH v2 03/15] nbd: Prepare for 64-bit request effect lengths, Eric Blake, 2022/11/14
- [PATCH v2 09/15] nbd/client: Initial support for extended headers, Eric Blake, 2022/11/14