BdrvDirtyBitmap *bitmap;
GSList *enabled_bitmaps;
- QemuMutex finish_lock;
+ QemuMutex lock; /* protect enabled_bitmaps */
} DBMLoadState;
typedef struct DBMState {
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;
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)
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;
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)
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,