[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 10/14] block/io: Quiesce parents between drained_

From: Kevin Wolf
Subject: [Qemu-devel] [PATCH v3 10/14] block/io: Quiesce parents between drained_begin/end
Date: Wed, 11 May 2016 15:24:21 +0200

So far, bdrv_parent_drained_begin/end() was called for the duration of
the actual bdrv_drain() at the beginning of a drained section, but we
really should keep parents quiesced until the end of the drained

This does not actually change behaviour at this point because the only
user of the .drained_begin/end BdrvChildRole callback is I/O throttling,
which already doesn't send any new requests after flushing its queue in
.drained_being. The patch merely removes a trap for future users.

Reported-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
 block/io.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/block/io.c b/block/io.c
index 7c213ec..23abbc5 100644
--- a/block/io.c
+++ b/block/io.c
@@ -2749,11 +2749,14 @@ void bdrv_drained_begin(BlockDriverState *bs)
     if (!bs->quiesce_counter++) {
+    bdrv_parent_drained_begin(bs);
 void bdrv_drained_end(BlockDriverState *bs)
+    bdrv_parent_drained_end(bs);
     assert(bs->quiesce_counter > 0);
     if (--bs->quiesce_counter > 0) {

reply via email to

[Prev in Thread] Current Thread [Next in Thread]