The device is drained, so there is no point in waiting for requests at
the end of the drained section. Remove the bdrv_drain_recurse() calls
there.
The bdrv_drain_recurse() calls were introduced in commit 481cad48e5e
in order to call the .bdrv_co_drain_end() driver callback. This is now
done by a separate bdrv_drain_invoke() call.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
block/io.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/block/io.c b/block/io.c
index 390d463c71..5fdb92a15e 100644
--- a/block/io.c
+++ b/block/io.c
@@ -299,7 +299,6 @@ void bdrv_drained_end(BlockDriverState *bs)
bdrv_parent_drained_end(bs);
bdrv_drain_invoke(bs, false);
- bdrv_drain_recurse(bs);
aio_enable_external(bdrv_get_aio_context(bs));
}
@@ -400,7 +399,6 @@ void bdrv_drain_all_end(void)
aio_enable_external(aio_context);
bdrv_parent_drained_end(bs);
bdrv_drain_invoke(bs, false);
- bdrv_drain_recurse(bs);
aio_context_release(aio_context);
}
--
2.13.6