qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] vl: Drain before (block) job cancel when quitting
@ 2019-06-12 22:08 Max Reitz
  2019-06-12 22:08 ` [Qemu-devel] [PATCH 1/2] " Max Reitz
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Max Reitz @ 2019-06-12 22:08 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, Paolo Bonzini, qemu-devel, Max Reitz

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.


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(-)

-- 
2.21.0



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-07-19 13:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-12 22:08 [Qemu-devel] [PATCH 0/2] vl: Drain before (block) job cancel when quitting Max Reitz
2019-06-12 22:08 ` [Qemu-devel] [PATCH 1/2] " Max Reitz
     [not found]   ` <b110b753-8546-0d34-f6ef-06c5726766ce@virtuozzo.com>
     [not found]     ` <c1fbf12a-77af-d939-4266-67b822e5a923@redhat.com>
     [not found]       ` <57ae7f82-ae02-a382-74f6-cb96672b2058@virtuozzo.com>
2019-06-13 16:03         ` Max Reitz
2019-06-14  9:22           ` Vladimir Sementsov-Ogievskiy
2019-06-19 19:40             ` Max Reitz
2019-07-16  7:00               ` Philippe Mathieu-Daudé
2019-06-12 22:08 ` [Qemu-devel] [PATCH 2/2] iotests: Test quitting with job on throttled node Max Reitz
2019-06-12 22:31 ` [Qemu-devel] [PATCH 0/2] vl: Drain before (block) job cancel when quitting Max Reitz
2019-07-19 13:26 ` Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).