diff mbox

[RFC] spapr: Provide an error message when migration fails due to htab_shift mismatch

Message ID 1438268115-25273-1-git-send-email-bharata@linux.vnet.ibm.com
State New
Headers show

Commit Message

Bharata B Rao July 30, 2015, 2:55 p.m. UTC
Include an error message when migration fails due to mismatch in
htab_shift values at source and target. This should provide a bit more
verbose message in addition to the current migration failure message
that reads like:

qemu-system-ppc64: error while loading state for instance 0x0 of device 'spapr/htab'

After this patch, the failure message will look like this:

qemu-system-ppc64: htab_shift mismatch: source 29 target 24
qemu-system-ppc64: error while loading state for instance 0x0 of device 'spapr/htab'

Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
---
Applies against spapr-next branch of David Gibson's tree.

 hw/ppc/spapr.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

David Gibson July 31, 2015, 7:13 a.m. UTC | #1
On Thu, Jul 30, 2015 at 08:25:15PM +0530, Bharata B Rao wrote:
> Include an error message when migration fails due to mismatch in
> htab_shift values at source and target. This should provide a bit more
> verbose message in addition to the current migration failure message
> that reads like:
> 
> qemu-system-ppc64: error while loading state for instance 0x0 of device 'spapr/htab'
> 
> After this patch, the failure message will look like this:
> 
> qemu-system-ppc64: htab_shift mismatch: source 29 target 24
> qemu-system-ppc64: error while loading state for instance 0x0 of device 'spapr/htab'
> 
> Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>

I've applied this to spapr-next and a new spapr-fix tree (intended for
fixes which should go to the current feature-frozen qemu, not just the
next one).  It's certainly better than the current cryptic failure.

Longer term I think we need to work harder to try to get the hash
table size the same at both ends though - we should rearrange things
so we get the size from the migration stream and then use that to feed
the hint to the kernel allocation.

Sorry I haven't looked properly yet at the patch you sent which works
towards that.
diff mbox

Patch

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index dfd808f..2dcab34 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1471,6 +1471,8 @@  static int htab_load(QEMUFile *f, void *opaque, int version_id)
     if (section_hdr) {
         /* First section, just the hash shift */
         if (spapr->htab_shift != section_hdr) {
+            error_report("htab_shift mismatch: source %d target %d",
+                         section_hdr, spapr->htab_shift);
             return -EINVAL;
         }
         return 0;