diff mbox

propagate errors on failed migration.

Message ID 1239026274-13358-1-git-send-email-glommer@redhat.com (mailing list archive)
State Accepted
Headers show

Commit Message

Glauber Costa April 6, 2009, 1:57 p.m. UTC
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(-)

Comments

Avi Kivity April 11, 2009, 11:12 a.m. UTC | #1
Glauber Costa wrote:
> We're currently ignoring any errors if dirty logging fails.
> Set error on migration file if we're unable to put dirty logging
> on.
>   

Applied, thanks.
diff mbox

Patch

diff --git a/qemu/vl.c b/qemu/vl.c
index 8aa9ebc..4da73b8 100644
--- a/qemu/vl.c
+++ b/qemu/vl.c
@@ -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;