diff options
author | KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> | 2009-12-22 03:15:43 +0000 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-12-31 19:45:04 +0000 |
commit | 0f4bd46ec252887f44f1f065b41867cac8f70dfb (patch) | |
tree | daa176e9f9e1f5e9ba8c5476b5333142f31aa062 /kernel/panic.c | |
parent | 60d9aa758c00f20ade0cb1951f6a934f628dd2d7 (diff) | |
download | lwn-0f4bd46ec252887f44f1f065b41867cac8f70dfb.tar.gz lwn-0f4bd46ec252887f44f1f065b41867cac8f70dfb.zip |
kmsg_dump: Dump on crash_kexec as well
crash_kexec gets called before kmsg_dump(KMSG_DUMP_OOPS) if
panic_on_oops is set, so the kernel log buffer is not stored
for this case.
This patch adds a KMSG_DUMP_KEXEC dump type which gets called
when crash_kexec() is invoked. To avoid getting double dumps,
the old KMSG_DUMP_PANIC is moved below crash_kexec(). The
mtdoops driver is modified to handle KMSG_DUMP_KEXEC in the
same way as a panic.
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'kernel/panic.c')
-rw-r--r-- | kernel/panic.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/panic.c b/kernel/panic.c index 5827f7b97254..c787333282b8 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -75,7 +75,6 @@ NORET_TYPE void panic(const char * fmt, ...) dump_stack(); #endif - kmsg_dump(KMSG_DUMP_PANIC); /* * If we have crashed and we have a crash kernel loaded let it handle * everything else. @@ -83,6 +82,8 @@ NORET_TYPE void panic(const char * fmt, ...) */ crash_kexec(NULL); + kmsg_dump(KMSG_DUMP_PANIC); + /* * Note smp_send_stop is the usual smp shutdown function, which * unfortunately means it may not be hardened to work in a panic |