[PATCH] makedumpfile: Stop adjusting info->max_mapnr when no mem_maps are found.
Atsushi Kumagai
kumagai-atsushi at mxc.nes.nec.co.jp
Tue Sep 9 01:08:36 PDT 2014
Hello,
I found an issue during the test for v1.5.7, so I fixed it
by the patch below and I'm re-testing now.
I'm still going to release v1.5.7 in this week, please
wait a little longer.
Thanks
Atsushi Kumagai
From: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
Date: Mon, 8 Sep 2014 16:04:17 +0900
Subject: [PATCH] Stop adjusting info->max_mapnr when no mem_maps are found.
If mem_maps are allocated with remap allocator, makedumpfile can't
find them without vmlinux. In that case, info->max_mapnr will be
truncated to 0 and there will be no page data in a dump file.
This patch enables the environment above to save full dump at
least.
Signed-off-by: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
---
makedumpfile.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/makedumpfile.c b/makedumpfile.c
index c965745..230e5fd 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -2963,12 +2963,16 @@ get_mem_map(void)
* dumped system.
*/
if (!is_xen_memory()) {
+ unsigned int valid_memmap = 0;
for (i = 0; i < info->num_mem_map; i++) {
if (info->mem_map_data[i].mem_map == NOT_MEMMAP_ADDR)
continue;
max_pfn = MAX(max_pfn, info->mem_map_data[i].pfn_end);
+ valid_memmap++;
+ }
+ if (valid_memmap) {
+ info->max_mapnr = MIN(info->max_mapnr, max_pfn);
}
- info->max_mapnr = MIN(info->max_mapnr, max_pfn);
}
return ret;
}
--
1.7.1
More information about the kexec
mailing list