Commit f646df4868 for qemu.org

commit f646df486881f23c6d65c174d736df3334a2bd07
Author: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Date:   Thu Dec 28 11:12:21 2023 +0100

    parallels: Create used bitmap even if checks needed

    All the checks were fixed to work with used bitmap. Create used bitmap in
    parallels_open() even if need_check is true.

    Cc: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
    Signed-off-by: Denis V. Lunev <den@openvz.org>

diff --git a/block/parallels.c b/block/parallels.c
index cacf23143b..307e90ec71 100644
--- a/block/parallels.c
+++ b/block/parallels.c
@@ -1476,13 +1476,11 @@ static int parallels_open(BlockDriverState *bs, QDict *options, int flags,
         }
     }

-    if (!need_check) {
-        ret = parallels_fill_used_bitmap(bs);
-        if (ret == -ENOMEM) {
-            goto fail;
-        }
-        need_check = need_check || ret < 0; /* These are correctable errors */
+    ret = parallels_fill_used_bitmap(bs);
+    if (ret == -ENOMEM) {
+        goto fail;
     }
+    need_check = need_check || ret < 0; /* These are correctable errors */

     /*
      * We don't repair the image here if it's opened for checks. Also we don't