A bit more refactoring and fixing before BLOCK_STATUS series. I've tried to make individual patches simple enough, so there are a lot of them.
Vladimir Sementsov-Ogievskiy (17): nbd/client: fix nbd_opt_go nbd/client: refactor nbd_read_eof nbd/client: refactor nbd_receive_reply nbd/client: fix nbd_send_request to return int block/nbd-client: get rid of ssize_t block/nbd-client: fix nbd_read_reply_entry block/nbd-client: refactor request send/receive block/nbd-client: rename nbd_recv_coroutines_enter_all block/nbd-client: move nbd_co_receive_reply content into nbd_co_request block/nbd-client: move nbd_coroutine_end content into nbd_co_request block/nbd-client: fix nbd_co_request: set s->reply.handle to 0 on error block/nbd-client: refactor nbd_co_request block/nbd-client: refactor NBDClientSession.recv_coroutine block/nbd-client: exit reply-reading coroutine on incorrect handle block/nbd-client: refactor reading reply block/nbd-client: drop reply field from NBDClientSession block/nbd-client: always return EIO on and after the first io channel error block/nbd-client.h | 9 ++- include/block/nbd.h | 4 +- nbd/nbd-internal.h | 34 ++++++--- block/nbd-client.c | 173 ++++++++++++++++++--------------------------- nbd/client.c | 21 +++--- tests/qemu-iotests/083.out | 4 +- 6 files changed, 115 insertions(+), 130 deletions(-) -- 2.11.1