Now that Daniel just added convenience qio channel looping functions, we might as well use it in NBD instead of open-coding our own. In doing so, fix a couple of short-falls noticed in the qio code.
If Dan is happy with this, I can take the series through the NBD queue. [The diffstat is slightly misleading - it's a net reduction in lines of code, but the added comments hide that fact] Eric Blake (3): io: Yield rather than wait when already in coroutine io: Add new qio_channel_read{,v}_all_eof functions nbd: Use new qio_channel_*_all() functions include/block/nbd.h | 2 -- include/io/channel.h | 53 ++++++++++++++++++++++++++++++++++++++++ nbd/nbd-internal.h | 41 ++++++------------------------- block/nbd-client.c | 15 ++++++------ io/channel.c | 60 ++++++++++++++++++++++++++++++++++++++-------- nbd/common.c | 45 ---------------------------------- tests/qemu-iotests/083.out | 8 +++---- 7 files changed, 121 insertions(+), 103 deletions(-) -- 2.13.5