Remove it and unify the function with bdrv_drained_end. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- block/io.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/block/io.c b/block/io.c index 695c8f3f5faa..c2962adf8d2d 100644 --- a/block/io.c +++ b/block/io.c @@ -69,14 +69,11 @@ void bdrv_parent_drained_end_single(BdrvChild *c) } } -static void bdrv_parent_drained_end(BlockDriverState *bs, BdrvChild *ignore) +static void bdrv_parent_drained_end(BlockDriverState *bs) { BdrvChild *c; QLIST_FOREACH(c, &bs->parents, next_parent) { - if (c == ignore) { - continue; - } bdrv_parent_drained_end_single(c); } } @@ -262,7 +259,6 @@ static bool bdrv_drain_poll_top_level(BlockDriverState *bs, static void bdrv_do_drained_begin(BlockDriverState *bs, BdrvChild *parent, bool poll); -static void bdrv_do_drained_end(BlockDriverState *bs, BdrvChild *parent); static void bdrv_co_drain_bh_cb(void *opaque) { @@ -381,10 +377,11 @@ void bdrv_drained_begin(BlockDriverState *bs) * This function does not poll, nor must any of its recursively called * functions. */ -static void bdrv_do_drained_end(BlockDriverState *bs, BdrvChild *parent) +void bdrv_drained_end(BlockDriverState *bs) { int old_quiesce_counter; + IO_OR_GS_CODE(); assert(bs->quiesce_counter > 0); /* Re-enable things in child-to-parent order */ @@ -393,17 +390,11 @@ static void bdrv_do_drained_end(BlockDriverState *bs, BdrvChild *parent) if (bs->drv && bs->drv->bdrv_drain_end) { bs->drv->bdrv_drain_end(bs); } - bdrv_parent_drained_end(bs, parent); + bdrv_parent_drained_end(bs); aio_enable_external(bdrv_get_aio_context(bs)); } } -void bdrv_drained_end(BlockDriverState *bs) -{ - IO_OR_GS_CODE(); - bdrv_do_drained_end(bs, NULL); -} - void bdrv_drain(BlockDriverState *bs) { IO_OR_GS_CODE(); @@ -504,7 +495,7 @@ void bdrv_drain_all_end_quiesce(BlockDriverState *bs) g_assert(!bs->refcnt); while (bs->quiesce_counter) { - bdrv_do_drained_end(bs, NULL); + bdrv_drained_end(bs); } } @@ -526,7 +517,7 @@ void bdrv_drain_all_end(void) AioContext *aio_context = bdrv_get_aio_context(bs); aio_context_acquire(aio_context); - bdrv_do_drained_end(bs, NULL); + bdrv_drained_end(bs); aio_context_release(aio_context); } -- 2.38.1