block: include base when checking image chain for block allocation
commit170d3bd341b3955f10b40b4569f66bf3d4dbc4a0
authorAndrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Wed, 29 May 2019 17:56:14 +0000 (29 20:56 +0300)
committerMax Reitz <mreitz@redhat.com>
Tue, 2 Jul 2019 01:53:04 +0000 (2 03:53 +0200)
tree7564a524fa4dc632bbcf29c630c6ec467358eaa0
parentd24f80234b39d2d5c0d91e63b5e4569d37b2399e
block: include base when checking image chain for block allocation

This patch is used in the 'block/stream: introduce a bottom node'
that is following. Instead of the base node, the caller may pass
the node that has the base as its backing image to the function
bdrv_is_allocated_above() with a new parameter include_base = true
and get rid of the dependency on the base that may change during
commit/stream parallel jobs. Now, if the specified base is not
found in the backing image chain, the QEMU will abort.

Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-id: 1559152576-281803-2-git-send-email-andrey.shinkevich@virtuozzo.com
[mreitz: Squashed in the following as a rebase on conflicting patches:]
Message-id: e3cf99ae-62e9-8b6e-5a06-d3c8b9363b85@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
block/commit.c
block/io.c
block/mirror.c
block/qcow2.c
block/replication.c
block/stream.c
include/block/block.h
qemu-img.c