mirror of https://gitee.com/openkylin/qemu.git
block: Fix pending requests check in bdrv_append()
bdrv_append() cares about isolation of the node that it modifies, but not about activity in some subtree below it. Instead of using the recursive bdrv_requests_pending(), directly check bs->in_flight, which considers only the node in question. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Acked-by: Fam Zheng <famz@redhat.com>
This commit is contained in:
parent
4e9e4323d5
commit
dd65a52e4a
4
block.c
4
block.c
|
@ -2897,8 +2897,8 @@ static void change_parent_backing_link(BlockDriverState *from,
|
|||
*/
|
||||
void bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top)
|
||||
{
|
||||
assert(!bdrv_requests_pending(bs_top));
|
||||
assert(!bdrv_requests_pending(bs_new));
|
||||
assert(!atomic_read(&bs_top->in_flight));
|
||||
assert(!atomic_read(&bs_new->in_flight));
|
||||
|
||||
bdrv_ref(bs_top);
|
||||
|
||||
|
|
Loading…
Reference in New Issue