Skip to content

Commit

Permalink
block: Don't use subtree drains in bdrv_drop_intermediate()
Browse files Browse the repository at this point in the history
Instead of using a subtree drain from the top node (which also drains
child nodes of base that we're not even interested in), use a normal
drain for base, which automatically drains all of the parents, too.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20221118174110.55183-9-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
kevmw committed Dec 14, 2022
1 parent 99b76f5 commit 40e48d2
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions block.c
Expand Up @@ -5600,7 +5600,7 @@ int bdrv_drop_intermediate(BlockDriverState *top, BlockDriverState *base,
GLOBAL_STATE_CODE();

bdrv_ref(top);
bdrv_subtree_drained_begin(top);
bdrv_drained_begin(base);

if (!top->drv || !base->drv) {
goto exit;
Expand Down Expand Up @@ -5673,7 +5673,7 @@ int bdrv_drop_intermediate(BlockDriverState *top, BlockDriverState *base,

ret = 0;
exit:
bdrv_subtree_drained_end(top);
bdrv_drained_end(base);
bdrv_unref(top);
return ret;
}
Expand Down

0 comments on commit 40e48d2

Please sign in to comment.