diff options
Diffstat (limited to 'arch_init.c')
-rw-r--r-- | arch_init.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch_init.c b/arch_init.c index 86f85443d7..dada6ded1a 100644 --- a/arch_init.c +++ b/arch_init.c @@ -642,12 +642,13 @@ static int ram_save_iterate(QEMUFile *f, void *opaque) i++; } + qemu_mutex_unlock_ramlist(); + if (ret < 0) { bytes_transferred += total_sent; return ret; } - qemu_mutex_unlock_ramlist(); qemu_put_be64(f, RAM_SAVE_FLAG_EOS); total_sent += 8; bytes_transferred += total_sent; @@ -657,9 +658,8 @@ static int ram_save_iterate(QEMUFile *f, void *opaque) static int ram_save_complete(QEMUFile *f, void *opaque) { - migration_bitmap_sync(); - qemu_mutex_lock_ramlist(); + migration_bitmap_sync(); /* try transferring iterative blocks of memory */ |