On Tue, Nov 25, 2025 at 05:46:49PM +0000, Pawel Zmarzly wrote: > Snapshots made with mapped-ram and x-ignore-shared flags are > not parsed properly. > > Signed-off-by: Pawel Zmarzly <[email protected]> > --- > migration/ram.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/migration/ram.c b/migration/ram.c > index 29f016cb25..85fdc810ab 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -4277,6 +4277,11 @@ static int parse_ramblocks(QEMUFile *f, ram_addr_t > total_ram_bytes) > id[len] = 0; > length = qemu_get_be64(f); > > + if (migrate_ignore_shared()) { > + /* Read and discard the x-ignore-shared memory region address */ > + qemu_get_be64(f); > + } > + > block = qemu_ram_block_by_name(id); > if (block) { > ret = parse_ramblock(f, block, length); > -- > 2.52.0 >
Thanks for the patch, though the u64 was parsed in parse_ramblock() instead. Would you consider refactoring that function instead? -- Peter Xu
