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