diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-11 12:12:04 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-11 12:12:04 -0800 |
commit | 8d610dd52dd1da696e199e4b4545f33a2a5de5c6 (patch) | |
tree | 8b2eee4dac34ff5f1374225ccba3fedb8432b579 /init/initramfs.c | |
parent | 8993780a6e44fb4e7ed34e33458506a775356c6e (diff) | |
download | lwn-8d610dd52dd1da696e199e4b4545f33a2a5de5c6.tar.gz lwn-8d610dd52dd1da696e199e4b4545f33a2a5de5c6.zip |
Make sure we populate the initroot filesystem late enough
We should not initialize rootfs before all the core initializers have
run. So do it as a separate stage just before starting the regular
driver initializers.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'init/initramfs.c')
-rw-r--r-- | init/initramfs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/init/initramfs.c b/init/initramfs.c index 85f04037ade1..4fa0f7977de1 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -526,7 +526,7 @@ static void __init free_initrd(void) #endif -void __init populate_rootfs(void) +static int __init populate_rootfs(void) { char *err = unpack_to_rootfs(__initramfs_start, __initramfs_end - __initramfs_start, 0); @@ -544,7 +544,7 @@ void __init populate_rootfs(void) unpack_to_rootfs((char *)initrd_start, initrd_end - initrd_start, 0); free_initrd(); - return; + return 0; } printk("it isn't (%s); looks like an initrd\n", err); fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 0700); @@ -565,4 +565,6 @@ void __init populate_rootfs(void) #endif } #endif + return 0; } +rootfs_initcall(populate_rootfs); |