lkml.org 
[lkml]   [2005]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Module : Pipefs : doubts
selvakumar nagendran wrote:
> Hello Randy,
> Thanks for ur help. See I do know that pipe.o is
> compiled into the main kernel image. But the following
> code block in pipe.c, made me to think as if pipefs
> has been implemented as a module in the kernel. Bcoz
> it used module_init and module_exit macros. That's why
> I got confused. Can u explain the reason for this?

Here's what I suggest. Look at the kernel header files,
in particular: include/linux/init.h .

Find /module_init/ in that header file.
It has different #defines depending on whether the
including file (e.g., pipe.c) is being
built as a module or not (#ifdef MODULE).

Once you have found that module_init() means __initcall(),
then you can find that __initcall() means device_initcall(),
which in turns means define_initcall("6",fn);
which is a (normal, common) method of setting up a
"module" (functional module, not only for separate
loadable modules) initialization entry point.
There, darn, I've said too much and my rubout key
doesn't work.



> ------------------
> static DECLARE_FSTYPE(pipe_fs_type, "pipefs",
> pipefs_read_super, FS_NOMOUNT);
>
> static int __init init_pipe_fs(void)
> {
> int err = register_filesystem(&pipe_fs_type);
> if (!err) {
> pipe_mnt = kern_mount(&pipe_fs_type);
> err = PTR_ERR(pipe_mnt);
> if (IS_ERR(pipe_mnt))
> unregister_filesystem(&pipe_fs_type);
> else
> err = 0;
> }
> return err;
> }
>
> static void __exit exit_pipe_fs(void)
> {
> unregister_filesystem(&pipe_fs_type);
> mntput(pipe_mnt);
> }
>
> module_init(init_pipe_fs)
> module_exit(exit_pipe_fs)
>
>
> --- "Randy.Dunlap" <rddunlap@osdl.org> wrote:
>
>>selvakumar nagendran wrote:
>>
>>>Hello linux-experts,
>>> I went through the kernel source code file
>>>/fs/pipe.c and I found that the pipe file system
>>>configured as a module. But in lsmod I am unable
>>
>>to
>>
>>>see it. This is my first doubt.
>
>
> Where do you see that?
> fs/pipe.o is always built into the kernel image.


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

\
 
 \ /
  Last update: 2005-03-22 14:09    [W:0.053 / U:0.672 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site