Message ID | 1487689130-30373-40-git-send-email-kwolf@redhat.com |
---|---|
State | New |
Headers | show |
On 21.02.2017 15:58, Kevin Wolf wrote: > 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> > --- > block.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Max Reitz <mreitz@redhat.com>
diff --git a/block.c b/block.c index c7c0a8b..a800e81 100644 --- a/block.c +++ b/block.c @@ -2874,8 +2874,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);
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> --- block.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)