On 17/02/2020 18:02, Vladimir Sementsov-Ogievskiy wrote:
finish_lock is bad name, as lock used not only on process end.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
---
  migration/block-dirty-bitmap.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c
index 7a82b76809..440c41cfca 100644
--- a/migration/block-dirty-bitmap.c
+++ b/migration/block-dirty-bitmap.c
@@ -143,7 +143,7 @@ typedef struct DBMLoadState {
      BdrvDirtyBitmap *bitmap;
GSList *enabled_bitmaps;
-    QemuMutex finish_lock;
+    QemuMutex lock; /* protect enabled_bitmaps */
  } DBMLoadState;
typedef struct DBMState {
@@ -507,7 +507,7 @@ void dirty_bitmap_mig_before_vm_start(void)
      DBMLoadState *s = &dbm_state.load;
      GSList *item;
- qemu_mutex_lock(&s->finish_lock);
+    qemu_mutex_lock(&s->lock);
for (item = s->enabled_bitmaps; item; item = g_slist_next(item)) {
          LoadBitmapState *b = item->data;
@@ -524,7 +524,7 @@ void dirty_bitmap_mig_before_vm_start(void)
      g_slist_free(s->enabled_bitmaps);
      s->enabled_bitmaps = NULL;
- qemu_mutex_unlock(&s->finish_lock);
+    qemu_mutex_unlock(&s->lock);
  }
static void dirty_bitmap_load_complete(QEMUFile *f, DBMLoadState *s)
@@ -533,7 +533,7 @@ static void dirty_bitmap_load_complete(QEMUFile *f, 
DBMLoadState *s)
      trace_dirty_bitmap_load_complete();
      bdrv_dirty_bitmap_deserialize_finish(s->bitmap);
- qemu_mutex_lock(&s->finish_lock);
+    qemu_mutex_lock(&s->lock);
for (item = s->enabled_bitmaps; item; item = g_slist_next(item)) {
          LoadBitmapState *b = item->data;
@@ -565,7 +565,7 @@ static void dirty_bitmap_load_complete(QEMUFile *f, 
DBMLoadState *s)
          bdrv_dirty_bitmap_unlock(s->bitmap);
      }
- qemu_mutex_unlock(&s->finish_lock);
+    qemu_mutex_unlock(&s->lock);
  }
static int dirty_bitmap_load_bits(QEMUFile *f, DBMLoadState *s)
@@ -747,7 +747,7 @@ static SaveVMHandlers savevm_dirty_bitmap_handlers = {
  void dirty_bitmap_mig_init(void)
  {
      QSIMPLEQ_INIT(&dbm_state.save.dbms_list);
-    qemu_mutex_init(&dbm_state.load.finish_lock);
+    qemu_mutex_init(&dbm_state.load.lock);
register_savevm_live("dirty-bitmap", 0, 1,
                           &savevm_dirty_bitmap_handlers,


Reviewed-by: Andrey Shinkevich <andrey.shinkev...@virtuozzo.com>
--
With the best regards,
Andrey Shinkevich

Reply via email to