migration: Fix analyze-migration.py 'configuration' parsing
The 'configuration' state subsections are currently not being parsed and the script fails when analyzing an aarch64 stream: Traceback (most recent call last): File "./scripts/analyze-migration.py", line 625, in <module> dump.read(dump_memory = args.memory) File "./scripts/analyze-migration.py", line 571, in read raise Exception("Unknown section type: %d" % section_type) Exception: Unknown section type: 5 Signed-off-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20231009184326.15777-3-farosas@suse.de>
This commit is contained in:
parent
2aae1eb8da
commit
c36c31c86b
@ -261,12 +261,21 @@ class HTABSection(object):
|
||||
|
||||
|
||||
class ConfigurationSection(object):
|
||||
def __init__(self, file):
|
||||
def __init__(self, file, desc):
|
||||
self.file = file
|
||||
self.desc = desc
|
||||
|
||||
def read(self):
|
||||
name_len = self.file.read32()
|
||||
name = self.file.readstr(len = name_len)
|
||||
if self.desc:
|
||||
version_id = self.desc['version']
|
||||
section = VMSDSection(self.file, version_id, self.desc,
|
||||
'configuration')
|
||||
section.read()
|
||||
else:
|
||||
# backward compatibility for older streams that don't have
|
||||
# the configuration section in the json
|
||||
name_len = self.file.read32()
|
||||
name = self.file.readstr(len = name_len)
|
||||
|
||||
class VMSDFieldGeneric(object):
|
||||
def __init__(self, desc, file):
|
||||
@ -532,7 +541,8 @@ class MigrationDump(object):
|
||||
if section_type == self.QEMU_VM_EOF:
|
||||
break
|
||||
elif section_type == self.QEMU_VM_CONFIGURATION:
|
||||
section = ConfigurationSection(file)
|
||||
config_desc = self.vmsd_desc.get('configuration')
|
||||
section = ConfigurationSection(file, config_desc)
|
||||
section.read()
|
||||
elif section_type == self.QEMU_VM_SECTION_START or section_type == self.QEMU_VM_SECTION_FULL:
|
||||
section_id = file.read32()
|
||||
|
Loading…
Reference in New Issue
Block a user