summaryrefslogtreecommitdiffstats
path: root/scripts/modules
diff options
context:
space:
mode:
authorKevin Wolf2019-02-18 14:56:01 +0100
committerKevin Wolf2019-02-25 15:03:19 +0100
commitd3bd5b90890f6715bcee38e00745112157dfbe59 (patch)
tree3f712b4e248b6902231e755db75cb49ef80e41a5 /scripts/modules
parentnbd: Move nbd_read_eof() to nbd/client.c (diff)
downloadqemu-d3bd5b90890f6715bcee38e00745112157dfbe59.tar.gz
qemu-d3bd5b90890f6715bcee38e00745112157dfbe59.tar.xz
qemu-d3bd5b90890f6715bcee38e00745112157dfbe59.zip
nbd: Use low-level QIOChannel API in nbd_read_eof()
Instead of using the convenience wrapper qio_channel_read_all_eof(), use the lower level QIOChannel API. This means duplicating some code, but we'll need this because this coroutine yield is special: We want it to be interruptible so that nbd_client_attach_aio_context() can correctly reenter the coroutine. This moves the bdrv_dec/inc_in_flight() pair into nbd_read_eof(), so that connection_co will always sit in this exact qio_channel_yield() call when bdrv_drain() returns. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'scripts/modules')
0 files changed, 0 insertions, 0 deletions