qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH v2 04/10] qcow2/bitmap: cache loaded bitmaps


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [Qemu-block] [PATCH v2 04/10] qcow2/bitmap: cache loaded bitmaps
Date: Wed, 20 Jun 2018 16:05:52 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

13.06.2018 05:06, John Snow wrote:
For bitmaps that we succeeded in loading, we can cache a reference
to that object. This will let us iterate over the more convenient
form of in-memory bitmaps for qemu-img bitmap manipulation tools.

Signed-off-by: John Snow <address@hidden>
---
  block/qcow2-bitmap.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c
index 5ae9b17928..d94b6bd5cf 100644
--- a/block/qcow2-bitmap.c
+++ b/block/qcow2-bitmap.c
@@ -981,6 +981,7 @@ bool qcow2_load_dirty_bitmaps(BlockDriverState *bs, Error 
**errp)
              if (bitmap == NULL) {
                  goto fail;
              }
+            bm->dirty_bitmap = bitmap;
if (!(bm->flags & BME_FLAG_AUTO)) {
                  bdrv_disable_dirty_bitmap(bitmap);
@@ -1382,6 +1383,7 @@ void 
qcow2_store_persistent_dirty_bitmaps(BlockDriverState *bs, Error **errp)
              bm->name = g_strdup(name);
              QSIMPLEQ_INSERT_TAIL(bm_list, bm, entry);
          } else {
+            assert(bitmap == bm->dirty_bitmap);
              if (!(bm->flags & BME_FLAG_IN_USE)) {
                  error_setg(errp, "Bitmap '%s' already exists in the image",
                             name);

and now it is already used in 02, so it should be reordered or merged to it

--
Best regards,
Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]