block: Don't wait for requests in bdrv_drain*_end()

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 481cad48e5
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>
This commit is contained in:
Kevin Wolf 2017-12-06 10:45:27 +01:00
parent 99c05de918
commit 5280aa32e1

View file

@ -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);
}