Minimally implement nbd structured read extension.
v2:
clone: tag up-nbd-minimal-structured-read-v2 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-v2
01: improve assertion (Eric)
02: add Eric's r-b
06: define NBD_SREP_TYPE_OFFSET_HOLE and NBD_SREP_TYPE_ERROR_OFFSET
here (Eric)
07: fix return value of nbd_request_simple_option
08-09: new patches
10: mostly rewritten
Vladimir Sementsov-Ogievskiy (10):
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: share some nbd entities to be reused in block/nbd-client.c
nbd/client: prepare nbd_receive_reply for structured reply
nbd: Minimal structured read for client
include/block/nbd.h | 132 ++++++++++-
nbd/nbd-internal.h | 65 +++---
block/nbd-client.c | 364 ++++++++++++++++++++++++++++---
nbd/client.c | 205 +++++++++++------
nbd/server.c | 189 +++++++++++-----
nbd/trace-events | 10 +-
tests/qemu-iotests/nbd-fault-injector.py | 4 +-
7 files changed, 756 insertions(+), 213 deletions(-)