@@ -3226,8 +3226,15 @@ static int ram_save_block(QEMUFile *f)
int found = 0;
while (addr < phys_ram_size) {
- if (kvm_enabled() && current_addr == 0)
- kvm_update_dirty_pages_log(); /* FIXME: propagate errors */
+ if (kvm_enabled() && current_addr == 0) {
+ int r;
+ r = kvm_update_dirty_pages_log();
+ if (r) {
+ fprintf(stderr, "%s: update dirty pages log failed %d\n", __FUNCTION__, r);
+ qemu_file_set_error(f);
+ return 0;
+ }
+ }
if (cpu_physical_memory_get_dirty(current_addr, MIGRATION_DIRTY_FLAG)) {
uint8_t ch;
We're currently ignoring any errors if dirty logging fails. Set error on migration file if we're unable to put dirty logging on. Signed-off-by: Glauber Costa <glommer@redhat.com> --- qemu/vl.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-)