From c5d7f60f0614250bd925071e25220ce5958f75d0 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Tue, 6 Aug 2013 12:37:10 +0200 Subject: dump: populate guest_phys_blocks While the machine is paused, in guest_phys_blocks_append() we register a one-shot MemoryListener, solely for the initial collection of the valid guest-physical memory ranges that happens at listener registration time. For each range that is reported to guest_phys_blocks_region_add(), we attempt to merge the range with the preceding one. Ranges can only be joined if they are contiguous in both guest-physical address space, and contiguous in host virtual address space. The "maximal" ranges that remain in the end constitute the guest-physical memory map that the dump will be based on. Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=981582 Signed-off-by: Laszlo Ersek Signed-off-by: Luiz Capitulino --- dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'dump.c') diff --git a/dump.c b/dump.c index 716fb1dc8b..3fa33fccf0 100644 --- a/dump.c +++ b/dump.c @@ -746,7 +746,7 @@ static int dump_init(DumpState *s, int fd, bool paging, bool has_filter, s->length = length; guest_phys_blocks_init(&s->guest_phys_blocks); - /* FILL LIST */ + guest_phys_blocks_append(&s->guest_phys_blocks); s->start = get_start_block(s); if (s->start == -1) { -- cgit v1.2.1