Hi all. Here is minimal structured-read extension implementation for nbd. It is needed mostly to implement nbd block-status extension over it, so it is minimal.
It's based on my three patches, currently on pull-request stage: block/nbd-client: refactor nbd_co_receive_reply block/nbd-client: simplify check in nbd_co_receive_reply block/nbd-client: nbd_co_send_request: fix return code clone: tag up-nbd-minimal-structured-read-v1 from https://src.openvz.org/scm/~vsementsov/qemu.git online: https://src.openvz.org/users/vsementsov/repos/qemu/browse?at=up-nbd-minimal-structured-read-v1 Note: actually it's a continuation of a part of my series "nbd: BLOCK_STATUS", but it was sent about half a year ago, so let's consider it as new series. Vladimir Sementsov-Ogievskiy (8): block/nbd-client: assert qiov len once in nbd_co_request block/nbd-client: refactor nbd_co_receive_reply nbd: rename NBD_REPLY_MAGIC to NBD_SIMPLE_REPLY_MAGIC nbd-server: refactor simple reply sending nbd: header constants indenting nbd: Minimal structured read for server nbd/client: refactor nbd_receive_starttls nbd: Minimal structured read for client block/nbd-client.h | 2 + include/block/nbd.h | 67 +++++++-- nbd/nbd-internal.h | 44 +++--- block/nbd-client.c | 104 +++++++++++--- nbd/client.c | 233 ++++++++++++++++++++++++++----- nbd/server.c | 189 +++++++++++++++++-------- nbd/trace-events | 7 +- tests/qemu-iotests/nbd-fault-injector.py | 4 +- 8 files changed, 507 insertions(+), 143 deletions(-) -- 2.11.1