From 95e80fe84f684b70c812ff423b5c158337e9a139 Mon Sep 17 00:00:00 2001 From: Huang Ying Date: Fri, 15 Aug 2008 00:40:24 -0700 Subject: [PATCH] --- yaml --- r: 108471 b: refs/heads/master c: ca195b7f6da3d5dde0bb85a7c322d7de73352653 h: refs/heads/master i: 108469: 57a181a85e9a5efa35fde0a5ead5faf82dee9095 108467: 49977a6e621fcb90a44d9a223b0a87d5b87d9557 108463: 380bbd25fed6c809b953de9737fc0b5ea60446e8 v: v3 --- [refs] | 2 +- trunk/include/linux/reboot.h | 1 + trunk/kernel/kexec.c | 6 +----- trunk/kernel/sys.c | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 7efac0c6051c..450879d55891 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fb45daa69d287b394eca1619b3fadff7c0215c71 +refs/heads/master: ca195b7f6da3d5dde0bb85a7c322d7de73352653 diff --git a/trunk/include/linux/reboot.h b/trunk/include/linux/reboot.h index b93b541cf111..988e55fe649b 100644 --- a/trunk/include/linux/reboot.h +++ b/trunk/include/linux/reboot.h @@ -59,6 +59,7 @@ extern void machine_crash_shutdown(struct pt_regs *); * Architecture independent implemenations of sys_reboot commands. */ +extern void kernel_restart_prepare(char *cmd); extern void kernel_restart(char *cmd); extern void kernel_halt(void); extern void kernel_power_off(void); diff --git a/trunk/kernel/kexec.c b/trunk/kernel/kexec.c index 2810558802b6..b81682312dc4 100644 --- a/trunk/kernel/kexec.c +++ b/trunk/kernel/kexec.c @@ -1472,11 +1472,7 @@ int kernel_kexec(void) } else #endif { - blocking_notifier_call_chain(&reboot_notifier_list, - SYS_RESTART, NULL); - system_state = SYSTEM_RESTART; - device_shutdown(); - sysdev_shutdown(); + kernel_restart_prepare(NULL); printk(KERN_EMERG "Starting new kernel\n"); machine_shutdown(); } diff --git a/trunk/kernel/sys.c b/trunk/kernel/sys.c index c01858090a98..3dacb00a7f76 100644 --- a/trunk/kernel/sys.c +++ b/trunk/kernel/sys.c @@ -274,7 +274,7 @@ void emergency_restart(void) } EXPORT_SYMBOL_GPL(emergency_restart); -static void kernel_restart_prepare(char *cmd) +void kernel_restart_prepare(char *cmd) { blocking_notifier_call_chain(&reboot_notifier_list, SYS_RESTART, cmd); system_state = SYSTEM_RESTART;