From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from tyo161.gate.nec.co.jp ([114.179.232.161]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cjckv-0006VM-Ml for kexec@lists.infradead.org; Fri, 03 Mar 2017 02:15:43 +0000 From: Atsushi Kumagai Subject: RE: [Makedumpfile Patch v3 7/7] mem-usage: allow to work only with -f for kernel version < 4.11 Date: Fri, 3 Mar 2017 02:10:28 +0000 Message-ID: <0910DD04CBD6DE4193FCF86B9C00BE9701EAABEE@BPXM01GP.gisp.nec.co.jp> References: <6689d9cf1e69f79b0e8c74ecab8e003e5507a79b.1488443170.git.panand@redhat.com> In-Reply-To: <6689d9cf1e69f79b0e8c74ecab8e003e5507a79b.1488443170.git.panand@redhat.com> Content-Language: ja-JP MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Pratyush Anand Cc: "dyoung@redhat.com" , "kexec@lists.infradead.org" , "bhe@redhat.com" >PT_LOAD of kcore does not have valid p_paddr values for kernel version >less that v4.11. Therefore, older kernel will no long work for mem-usage >with current makedumpfile code. They can only work when they are patched >with fix to "update physical address for kcore ram and text". > >This patch fixes the makedumpfile so that it does not allow to work >older kernel for --mem-usage until someone is sure that kernel is >rightly patched and so uses -f in command line. It also updates man page >and usage info accordingly. > >Signed-off-by: Pratyush Anand >--- > makedumpfile.8 | 9 ++++++++- > makedumpfile.c | 6 ++++++ > print_info.c | 3 ++- > 3 files changed, 16 insertions(+), 2 deletions(-) > >diff --git a/makedumpfile.8 b/makedumpfile.8 >index 9069fb18cdb6..993236486e77 100644 >--- a/makedumpfile.8 >+++ b/makedumpfile.8 >@@ -235,13 +235,20 @@ the ELF format does not support compressed data. > > .TP > \fB\-f\fR >-Force existing DUMPFILE to be overwritten. >+Force existing DUMPFILE to be overwritten and mem-usage to work with older >+kernel as well. > .br > .B Example: > .br > # makedumpfile \-f \-d 31 \-x vmlinux /proc/vmcore dumpfile > .br > This command overwrites \fIDUMPFILE\fR even if it already exists. >+.br >+# makedumpfile \-f \-\-mem\-usage /proc/kcore >+.br >+Kernel version lesser than v4.11 will not work with \-\-mem\-usage >+functionality until it has been patched with upstream commit 464920104bf7. >+Therefore if you have patched your older kernel then use \-f. > > .TP > \fB\-x\fR \fIVMLINUX\fR >diff --git a/makedumpfile.c b/makedumpfile.c >index 3b8e9810468d..e3be1ab0a9ec 100644 >--- a/makedumpfile.c >+++ b/makedumpfile.c >@@ -11269,6 +11269,12 @@ main(int argc, char *argv[]) > MSG("Try `makedumpfile --help' for more information.\n"); > goto out; > } >+ if (info->kernel_version < KERNEL_VERSION(4, 11, 0) && >+ !info->flag_force) { >+ MSG("mem-usage not supported for this kernel.\n"); >+ MSG("You can try with -f if your kernel's kcore has valid p_paddr\n"); >+ goto out; >+ } You forgot to set COMPLETED to retcd before goto. The behavior will be different from the v2 patch. Thanks, Atsushi Kumagai > > if (!show_mem_usage()) > goto out; >diff --git a/print_info.c b/print_info.c >index 392d863a4227..72ed8fa0c059 100644 >--- a/print_info.c >+++ b/print_info.c >@@ -309,7 +309,8 @@ print_usage(void) > MSG(" Print debugging message.\n"); > MSG("\n"); > MSG(" [-f]:\n"); >- MSG(" Overwrite DUMPFILE even if it already exists.\n"); >+ MSG(" Overwrite DUMPFILE even if it already exists\n"); >+ MSG(" Force mem-usage to work with older kernel as well.\n"); > MSG("\n"); > MSG(" [-h, --help]:\n"); > MSG(" Show help message and LZO/snappy support status (enabled/disabled).\n"); >-- >2.9.3 > _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec