* Laurent Vivier ([email protected]) wrote: > Since commit 3a38429748 ("Add a "no HPT" encoding to HTAB migration stream") > the HTAB migration stream contains a header set to "-1", meaning there > is no HPT. Teach analyze-migration.py to ignore the section in this case. > > Without this fix, the script fails with a dump from a POWER9 guest: > > Traceback (most recent call last): > File "./qemu/scripts/analyze-migration.py", line 602, in <module> > dump.read(dump_memory = args.memory) > File "./qemu/scripts/analyze-migration.py", line 539, in read > section.read() > File "./qemu/scripts/analyze-migration.py", line 250, in read > self.file.readvar(n_valid * self.HASH_PTE_SIZE_64) > File "./qemu/scripts/analyze-migration.py", line 64, in readvar > raise Exception("Unexpected end of %s at 0x%x" % (self.filename, > self.file.tell())) > Exception: Unexpected end of migrate.dump at 0x1d4763ba > > Fixes: 3a38429748 ("Add a "no HPT" encoding to HTAB migration stream") > Signed-off-by: Laurent Vivier <[email protected]>
Reviewed-by: Dr. David Alan Gilbert <[email protected]> > --- > scripts/analyze-migration.py | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py > index 14553876a2..88ff4adb30 100755 > --- a/scripts/analyze-migration.py > +++ b/scripts/analyze-migration.py > @@ -234,6 +234,10 @@ class HTABSection(object): > > header = self.file.read32() > > + if (header == -1): > + # "no HPT" encoding > + return > + > if (header > 0): > # First section, just the hash shift > return > -- > 2.14.3 > -- Dr. David Alan Gilbert / [email protected] / Manchester, UK
