Message ID | 20211203231741.3901263-1-eblake@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | libnbd patches for NBD_OPT_EXTENDED_HEADERS | expand |
On 12/04/21 00:17, Eric Blake wrote: > Available here: https://repo.or.cz/libnbd/ericb.git/shortlog/refs/tags/exthdr-v1 > > I also want to do followup patches to teach 'nbdinfo --map' and > 'nbdcopy' to utilize 64-bit extents. > > Eric Blake (13): > golang: Simplify nbd_block_status callback array copy > block_status: Refactor array storage > protocol: Add definitions for extended headers > protocol: Prepare to send 64-bit requests > protocol: Prepare to receive 64-bit replies > protocol: Accept 64-bit holes during pread > generator: Add struct nbd_extent in prep for 64-bit extents > block_status: Track 64-bit extents internally > block_status: Accept 64-bit extents during block status > api: Add [aio_]nbd_block_status_64 > api: Add three functions for controlling extended headers > generator: Actually request extended headers > interop: Add test of 64-bit block status > > lib/internal.h | 31 ++- > lib/nbd-protocol.h | 61 ++++- > generator/API.ml | 237 ++++++++++++++++-- > generator/API.mli | 3 +- > generator/C.ml | 24 +- > generator/GoLang.ml | 35 ++- > generator/Makefile.am | 3 +- > generator/OCaml.ml | 20 +- > generator/Python.ml | 29 ++- > generator/state_machine.ml | 52 +++- > generator/states-issue-command.c | 31 ++- > .../states-newstyle-opt-extended-headers.c | 90 +++++++ > generator/states-newstyle-opt-starttls.c | 10 +- > generator/states-reply-structured.c | 220 ++++++++++++---- > generator/states-reply.c | 31 ++- > lib/handle.c | 27 +- > lib/rw.c | 105 +++++++- > python/t/110-defaults.py | 3 +- > python/t/120-set-non-defaults.py | 4 +- > python/t/465-block-status-64.py | 56 +++++ > ocaml/helpers.c | 22 +- > ocaml/nbd-c.h | 3 +- > ocaml/tests/Makefile.am | 5 +- > ocaml/tests/test_110_defaults.ml | 4 +- > ocaml/tests/test_120_set_non_defaults.ml | 5 +- > ocaml/tests/test_465_block_status_64.ml | 58 +++++ > tests/meta-base-allocation.c | 111 +++++++- > interop/Makefile.am | 6 + > interop/large-status.c | 186 ++++++++++++++ > interop/large-status.sh | 49 ++++ > .gitignore | 1 + > golang/Makefile.am | 3 +- > golang/handle.go | 6 + > golang/libnbd_110_defaults_test.go | 8 + > golang/libnbd_120_set_non_defaults_test.go | 12 + > golang/libnbd_465_block_status_64_test.go | 119 +++++++++ > 36 files changed, 1511 insertions(+), 159 deletions(-) > create mode 100644 generator/states-newstyle-opt-extended-headers.c > create mode 100644 python/t/465-block-status-64.py > create mode 100644 ocaml/tests/test_465_block_status_64.ml > create mode 100644 interop/large-status.c > create mode 100755 interop/large-status.sh > create mode 100644 golang/libnbd_465_block_status_64_test.go > I figured I should slowly / gradually review this series, and as a *pre-requisite* for it, first apply the spec patch, and then read through the spec with something like $ git show --color -U1000 In other words, read the whole spec, just highlight the new additions. Now, I see Vladimir has made several comments on the spec patch; will those comments necessitate a respin of the libnbd series? If so, how intrusive are the changes going to be? I'm hesitant to start my review if significant changes are already foreseen. Thanks, Laszlo