migration: fix analyze-migration.py script with radix table
Since commit3a38429748("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 <lvivier@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
		
							parent
							
								
									9c43435dc1
								
							
						
					
					
						commit
						029ff892e1
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue