[PATCH v3 1/3] block: block_dirty_bitmap_merge(): fix error path

Vladimir Sementsov-Ogievskiy posted 3 patches 3 years, 10 months ago
Maintainers: John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <v.sementsov-og@mail.ru>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Eric Blake <eblake@redhat.com>
There is a newer version of this series
[PATCH v3 1/3] block: block_dirty_bitmap_merge(): fix error path
Posted by Vladimir Sementsov-Ogievskiy 3 years, 10 months ago
At the end we ignore failure of bdrv_merge_dirty_bitmap() and report
success. And still set errp. That's wrong.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
Reviewed-by: Nikita Lapshin <nikita.lapshin@virtuozzo.com>
---
 block/monitor/bitmap-qmp-cmds.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/block/monitor/bitmap-qmp-cmds.c b/block/monitor/bitmap-qmp-cmds.c
index 8e35616c2e..4db704c015 100644
--- a/block/monitor/bitmap-qmp-cmds.c
+++ b/block/monitor/bitmap-qmp-cmds.c
@@ -309,7 +309,10 @@ BdrvDirtyBitmap *block_dirty_bitmap_merge(const char *node, const char *target,
     }
 
     /* Merge into dst; dst is unchanged on failure. */
-    bdrv_merge_dirty_bitmap(dst, anon, backup, errp);
+    if (!bdrv_merge_dirty_bitmap(dst, anon, backup, errp)) {
+        dst = NULL;
+        goto out;
+    }
 
  out:
     bdrv_release_dirty_bitmap(anon);
-- 
2.35.1
Re: [PATCH v3 1/3] block: block_dirty_bitmap_merge(): fix error path
Posted by Kevin Wolf 3 years, 9 months ago
Am 01.04.2022 um 12:08 hat Vladimir Sementsov-Ogievskiy geschrieben:
> At the end we ignore failure of bdrv_merge_dirty_bitmap() and report
> success. And still set errp. That's wrong.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
> Reviewed-by: Nikita Lapshin <nikita.lapshin@virtuozzo.com>

Reviewed-by: Kevin Wolf <kwolf@redhat.com>