Re: chicken/egg between pipefs and initramfs/hotplug

From: Andrew Morton
Date: Tue Oct 26 2004 - 18:27:03 EST


Thayne Harbaugh <tharbaugh@xxxxxxxx> wrote:
>
> It appears that linux/init/main.c:init() has a chicken/egg problem.
> Apparently modprobe and other programs need a pipe and pipefs isn't
> mounted until later on in do_basic_setup()/do_initcalls(). That means
> that linux/fs/pipe.c:static struct vfsmount *pipe_mnt; isn't
> initialized and blows up when it's derefernced in
> linux/fs/pipe.c:get_pipe_inode().

That's a bit sad. Does this fix it?

--- 25/fs/pipe.c~a Tue Oct 26 16:28:44 2004
+++ 25-akpm/fs/pipe.c Tue Oct 26 16:28:52 2004
@@ -718,5 +718,5 @@ static void __exit exit_pipe_fs(void)
mntput(pipe_mnt);
}

-module_init(init_pipe_fs)
+fs_initcall(init_pipe_fs)
module_exit(exit_pipe_fs)
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/