[patch 4/9] kdump: Initialize vmcoreinfo note at startup

Michael Holzheu
2011-07-04T17:10:01Z

[-- Attachment #1: 04-s390-kdump-common-vmcoreinfo.patch --]
[-- Type: text/plain, Size: 1630 bytes --]

From: Michael Holzheu <holzheu@linux.vnet.ibm.com>

Currently the vmcoreinfo note is only initialized in case of kdump. On s390
it is possible to create kernel dumps with other dump mechanisms than kdump
(e.g. via hypervisor dump or stand-alone dump tools). For those dumps it
would also be desirable to include the vmcoreinfo data. To accomplish this,
with this patch the vmcoreinfo ELF note is always initialized, not only in
case of a (kdump) crash.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
---
kernel/kexec.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -1388,24 +1388,23 @@ int __init parse_crashkernel(char *cm
}

-
-void crash_save_vmcoreinfo(void)
+static void update_vmcoreinfo_note(void)
{
- u32 *buf;
+ u32 *buf = (u32 *) vmcoreinfo_note;

if (!vmcoreinfo_size)
return;
-
- vmcoreinfo_append_str("CRASHTIME=%ld", get_seconds());
-
- buf = (u32 *)vmcoreinfo_note;
-
buf = append_elf_note(buf, VMCOREINFO_NOTE_NAME, 0, vmcoreinfo_data,
vmcoreinfo_size);
-
final_note(buf);
}

+void crash_save_vmcoreinfo(void)
+{
+ vmcoreinfo_append_str("CRASHTIME=%ld", get_seconds());
+ update_vmcoreinfo_note();
+}
+
void vmcoreinfo_append_str(const char *fmt, ...)
{
va_list args;
@@ -1491,6 +1490,7 @@ static int __init crash_save_vmcoreinfo_
VMCOREINFO_NUMBER(PG_swapcache);

arch_crash_save_vmcoreinfo();
+ update_vmcoreinfo_note();

return 0;
}