aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki2007-05-06 16:50:46 -0500
committerLinus Torvalds2007-05-07 14:12:59 -0500
commit726162b5dad154a90dad51c0185b891312de5757 (patch)
treeb2313cdd19951206229889569781549777c0bfb0 /init/do_mounts_initrd.c
parent0709db6072c2e799eba1aa61bd19e0d7f38aa2cd (diff)
downloadkernel-726162b5dad154a90dad51c0185b891312de5757.tar.gz
kernel-726162b5dad154a90dad51c0185b891312de5757.tar.xz
kernel-726162b5dad154a90dad51c0185b891312de5757.zip
freezer: remove PF_NOFREEZE from handle_initrd
Make handle_initrd() call try_to_freeze() in a suitable place instead of setting PF_NOFREEZE for the current task. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'init/do_mounts_initrd.c')
-rw-r--r--init/do_mounts_initrd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 2cfd7cb36e79..b222ce9e1c8b 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -55,11 +55,12 @@ static void __init handle_initrd(void)
55 sys_mount(".", "/", NULL, MS_MOVE, NULL); 55 sys_mount(".", "/", NULL, MS_MOVE, NULL);
56 sys_chroot("."); 56 sys_chroot(".");
57 57
58 current->flags |= PF_NOFREEZE;
59 pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD); 58 pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
60 if (pid > 0) { 59 if (pid > 0) {
61 while (pid != sys_wait4(-1, NULL, 0, NULL)) 60 while (pid != sys_wait4(-1, NULL, 0, NULL)) {
61 try_to_freeze();
62 yield(); 62 yield();
63 }
63 } 64 }
64 65
65 /* move initrd to rootfs' /old */ 66 /* move initrd to rootfs' /old */