* 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

Reply via email to