* Pipefs : doubts
@ 2005-01-10 5:04 selvakumar nagendran
2005-01-10 5:57 ` Randy.Dunlap
0 siblings, 1 reply; 4+ messages in thread
From: selvakumar nagendran @ 2005-01-10 5:04 UTC (permalink / raw)
To: linux-kernel
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.
My second doubt is, in pipe.c we have lot of
symbols like
PIPE_WAITING_READERS(*inode)
PIPE_WAIT(*inode)
PIPE_MAX_RCHUNK(*inode)
What are they? funtions or macros? What they do or
where are their implementation in the kernel source
tree?
Thanks,
selva
__________________________________
Do you Yahoo!?
The all-new My Yahoo! - Get yours free!
http://my.yahoo.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Pipefs : doubts
2005-01-10 5:04 Pipefs : doubts selvakumar nagendran
@ 2005-01-10 5:57 ` Randy.Dunlap
2005-01-10 6:38 ` Module : " selvakumar nagendran
0 siblings, 1 reply; 4+ messages in thread
From: Randy.Dunlap @ 2005-01-10 5:57 UTC (permalink / raw)
To: selvakumar nagendran; +Cc: linux-kernel
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.
> My second doubt is, in pipe.c we have lot of
> symbols like
>
> PIPE_WAITING_READERS(*inode)
> PIPE_WAIT(*inode)
> PIPE_MAX_RCHUNK(*inode)
> What are they? funtions or macros? What they do or
> where are their implementation in the kernel source
> tree?
Macros.
See include/linux/pipe_fs_i.h
--
~Randy
^ permalink raw reply [flat|nested] 4+ messages in thread
* Module : Pipefs : doubts
2005-01-10 5:57 ` Randy.Dunlap
@ 2005-01-10 6:38 ` selvakumar nagendran
2005-01-10 14:48 ` Randy.Dunlap
0 siblings, 1 reply; 4+ messages in thread
From: selvakumar nagendran @ 2005-01-10 6:38 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-kernel
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?
Thanks,
selva
------------------
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.
__________________________________
Do you Yahoo!?
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Module : Pipefs : doubts
2005-01-10 6:38 ` Module : " selvakumar nagendran
@ 2005-01-10 14:48 ` Randy.Dunlap
0 siblings, 0 replies; 4+ messages in thread
From: Randy.Dunlap @ 2005-01-10 14:48 UTC (permalink / raw)
To: selvakumar nagendran; +Cc: linux-kernel
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-01-10 15:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-10 5:04 Pipefs : doubts selvakumar nagendran
2005-01-10 5:57 ` Randy.Dunlap
2005-01-10 6:38 ` Module : " selvakumar nagendran
2005-01-10 14:48 ` Randy.Dunlap
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).