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