[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 0/2] vl: Drain before (block) job cancel when qu
From: |
Max Reitz |
Subject: |
Re: [Qemu-block] [PATCH 0/2] vl: Drain before (block) job cancel when quitting |
Date: |
Thu, 13 Jun 2019 00:31:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 13.06.19 00:08, Max Reitz wrote:
> Quitting qemu should lead to qemu exiting pretty much immediately. That
> means if you have a block job running on a throttled block node, the
> node should ignore its throttling and the job should be cancelled
> immediately.
>
> Unfortunately, that is not what happens. Currently, the node will be
> drained (with a bdrv_drain_all()), and then again unquiesced (because
> bdrv_drain_all() ends). Then, the block job is cancelled; but at this
> point, the node is no longer drained, so it will block, as it befits a
> throttling node.
>
> To fix this issue, we have to keep all nodes drained while we cancel all
> block jobs when quitting qemu. This will make the throttle node ignore
> its throttling and thus let the block job cancel immediately.
I forgot to mention: This series depends on “block: Keep track of parent
quiescing”, specifically patch 3 (“iotests: Add @has_quit to
vm.shutdown()”).
Based-on: <address@hidden>
Max
> Max Reitz (2):
> vl: Drain before (block) job cancel when quitting
> iotests: Test quitting with job on throttled node
>
> vl.c | 11 ++++++++
> tests/qemu-iotests/218 | 55 ++++++++++++++++++++++++++++++++++++--
> tests/qemu-iotests/218.out | 4 +++
> 3 files changed, 68 insertions(+), 2 deletions(-)
>
signature.asc
Description: OpenPGP digital signature
[Qemu-block] [PATCH 2/2] iotests: Test quitting with job on throttled node, Max Reitz, 2019/06/12
Re: [Qemu-block] [PATCH 0/2] vl: Drain before (block) job cancel when quitting,
Max Reitz <=