diff options
| author | Kevin Wolf <kwolf@redhat.com> | 2019-02-18 14:56:01 +0100 |
|---|---|---|
| committer | Kevin Wolf <kwolf@redhat.com> | 2019-02-25 15:03:19 +0100 |
| commit | d3bd5b90890f6715bcee38e00745112157dfbe59 (patch) | |
| tree | 3f712b4e248b6902231e755db75cb49ef80e41a5 /scripts/qapi/common.py | |
| parent | a7b78fc944b20b953d68426b7db2c81fc6a5b5af (diff) | |
| download | focaccia-qemu-d3bd5b90890f6715bcee38e00745112157dfbe59.tar.gz focaccia-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/qapi/common.py')
0 files changed, 0 insertions, 0 deletions