nbd: Use CAF when looking for dirty bitmap

When looking for a dirty bitmap to share, we should handle filters by
just including them in the search (so they do not break backing chains).

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Max Reitz 2019-06-12 18:55:04 +02:00 committed by Kevin Wolf
parent 9a71b9de3f
commit ee2f94ca27
1 changed files with 3 additions and 3 deletions

View File

@ -1567,13 +1567,13 @@ NBDExport *nbd_export_new(BlockDriverState *bs, uint64_t dev_offset,
if (bitmap) {
BdrvDirtyBitmap *bm = NULL;
while (true) {
while (bs) {
bm = bdrv_find_dirty_bitmap(bs, bitmap);
if (bm != NULL || bs->backing == NULL) {
if (bm != NULL) {
break;
}
bs = bs->backing->bs;
bs = bdrv_filter_or_cow_bs(bs);
}
if (bm == NULL) {