76daa3
From 20a48b7b71a2aa56797026c4ffaac6fed113d897 Mon Sep 17 00:00:00 2001
76daa3
From: Laurent Vivier <lvivier@redhat.com>
76daa3
Date: Tue, 25 Jul 2017 14:32:33 +0200
76daa3
Subject: [PATCH 06/17] spapr/htab: fix savevm
76daa3
76daa3
RH-Author: Laurent Vivier <lvivier@redhat.com>
76daa3
Message-id: <20170725143233.6306-1-lvivier@redhat.com>
76daa3
Patchwork-id: 75837
76daa3
O-Subject: [RHEL-ALT-7.4 qemu-kvm PATCH] spapr/htab: fix savevm
76daa3
Bugzilla: 1470035
76daa3
RH-Acked-by: Thomas Huth <thuth@redhat.com>
76daa3
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
76daa3
RH-Acked-by: David Gibson <dgibson@redhat.com>
76daa3
76daa3
Commit 3a38429 ("spapr: Add a "no HPT" encoding to HTAB migration stream")
76daa3
allows to migrate an empty HPT, but doesn't mark correctly the
76daa3
end of the migration stream.
76daa3
76daa3
The end condition (value returned by htab_save_iterate())
76daa3
should be 1, whereas in 3a38429 it returns 0.
76daa3
76daa3
The problem can be reproduced with QEMU monitor command "savevm":
76daa3
the command never stops and the disk image grows without limit.
76daa3
76daa3
Fixes: 3a38429748aa4f74abaecf16c4c087e8a325e12a
76daa3
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
76daa3
Reviewed-by: Thomas Huth <thuth@redhat.com>
76daa3
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
76daa3
(cherry picked from commit e8cd4247e96bb2158ef0ae0ff20e72746b9dd32d)
76daa3
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
76daa3
76daa3
BREW: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=13717506
76daa3
BZ:   https://bugzilla.redhat.com/show_bug.cgi?id=1470035
76daa3
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
76daa3
---
76daa3
 hw/ppc/spapr.c | 2 +-
76daa3
 1 file changed, 1 insertion(+), 1 deletion(-)
76daa3
76daa3
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
76daa3
index 07c28d4..0c401bf 100644
76daa3
--- a/hw/ppc/spapr.c
76daa3
+++ b/hw/ppc/spapr.c
76daa3
@@ -1748,7 +1748,7 @@ static int htab_save_iterate(QEMUFile *f, void *opaque)
76daa3
     /* Iteration header */
76daa3
     if (!spapr->htab_shift) {
76daa3
         qemu_put_be32(f, -1);
76daa3
-        return 0;
76daa3
+        return 1;
76daa3
     } else {
76daa3
         qemu_put_be32(f, 0);
76daa3
     }
76daa3
-- 
76daa3
1.8.3.1
76daa3