2007-10-05 14:41:49

by Guennadi Liakhovetski

[permalink] [raw]
Subject: tmpfs disabled in .config but in /proc/filesystems

Am I running crazy here (some 2.6.23-rc6-ish)?

$ zcat /proc/config.gz | grep TMPFS
# CONFIG_TMPFS is not set
$ grep tmpfs /proc/filesystems
nodev tmpfs

Thanks
Guennadi
---
Guennadi Liakhovetski


2007-10-05 15:43:44

by Hugh Dickins

[permalink] [raw]
Subject: Re: tmpfs disabled in .config but in /proc/filesystems

On Fri, 5 Oct 2007, Guennadi Liakhovetski wrote:
> Am I running crazy here (some 2.6.23-rc6-ish)?
>
> $ zcat /proc/config.gz | grep TMPFS
> # CONFIG_TMPFS is not set
> $ grep tmpfs /proc/filesystems
> nodev tmpfs

tmpfs (mm/shmem.c) is used by the kernel to support shared memory
of various kinds even when CONFIG_TMPFS is not set. But only when
CONFIG_TMPFS=y can users mount a tmpfs as a fully capable filesystem.
Confusing, yes: sorry for putting the fear of craziness upon you.

Hugh

2007-10-05 19:36:40

by Guennadi Liakhovetski

[permalink] [raw]
Subject: Re: tmpfs disabled in .config but in /proc/filesystems

On Fri, 5 Oct 2007, Hugh Dickins wrote:

> On Fri, 5 Oct 2007, Guennadi Liakhovetski wrote:
> > Am I running crazy here (some 2.6.23-rc6-ish)?
> >
> > $ zcat /proc/config.gz | grep TMPFS
> > # CONFIG_TMPFS is not set
> > $ grep tmpfs /proc/filesystems
> > nodev tmpfs
>
> tmpfs (mm/shmem.c) is used by the kernel to support shared memory
> of various kinds even when CONFIG_TMPFS is not set. But only when
> CONFIG_TMPFS=y can users mount a tmpfs as a fully capable filesystem.
> Confusing, yes: sorry for putting the fear of craziness upon you.

Oops, sorry, now I remember reading about this... As a matter of fact, the
presence in /proc/filesystem - was it a deliberate decision, or
technically preferrable or a mistake? Wouldn't it be more logical to
completely hide it from the user then?

Thanks
Guennadi
---
Guennadi Liakhovetski

2007-10-05 20:50:15

by Hugh Dickins

[permalink] [raw]
Subject: Re: tmpfs disabled in .config but in /proc/filesystems

On Fri, 5 Oct 2007, Guennadi Liakhovetski wrote:
> On Fri, 5 Oct 2007, Hugh Dickins wrote:
> > On Fri, 5 Oct 2007, Guennadi Liakhovetski wrote:
> > > Am I running crazy here (some 2.6.23-rc6-ish)?
> > >
> > > $ zcat /proc/config.gz | grep TMPFS
> > > # CONFIG_TMPFS is not set
> > > $ grep tmpfs /proc/filesystems
> > > nodev tmpfs
> >
> > tmpfs (mm/shmem.c) is used by the kernel to support shared memory
> > of various kinds even when CONFIG_TMPFS is not set. But only when
> > CONFIG_TMPFS=y can users mount a tmpfs as a fully capable filesystem.
> > Confusing, yes: sorry for putting the fear of craziness upon you.
>
> Oops, sorry, now I remember reading about this... As a matter of fact, the
> presence in /proc/filesystem - was it a deliberate decision, or
> technically preferrable or a mistake?

d) None of the above!

I've never really thought about it, but I think it's simply a natural
side-effect of the register_filesystem and vfs_kern_mount it has to
do in order to get the services it needs from the VFS.

If I were to look back in history, I expect I'd find that it used
to display as "shmfs" or "shmemfs" rather than "tmpfs", and that
we adjusted the naming later on. You might prefer that we hadn't,
or that we registered under both names if CONFIG_TMPFS (maybe we did
do it like that at one stage, I vaguely remember but haven't checked).

> Wouldn't it be more logical to
> completely hide it from the user then?

Sorry, I find it hard to get excited about!
I'm inclined not to mess around with it now.
With apologies to your sanity ;)

Hugh

2007-10-06 20:25:08

by Jan Engelhardt

[permalink] [raw]
Subject: Re: tmpfs disabled in .config but in /proc/filesystems


On Oct 5 2007 21:49, Hugh Dickins wrote:
>> > > $ zcat /proc/config.gz | grep TMPFS
>> > > # CONFIG_TMPFS is not set
>> > > $ grep tmpfs /proc/filesystems
>> > > nodev tmpfs
>> >
>> > tmpfs (mm/shmem.c) is used by the kernel to support shared memory
>> > of various kinds even when CONFIG_TMPFS is not set. But only when
>> > CONFIG_TMPFS=y can users mount a tmpfs as a fully capable filesystem.
>> > Confusing, yes: sorry for putting the fear of craziness upon you.
>>
>> Oops, sorry, now I remember reading about this... As a matter of fact, the
>> presence in /proc/filesystem - was it a deliberate decision, or
>> technically preferrable or a mistake?
>
>d) None of the above!
>
>I've never really thought about it, but I think it's simply a natural
>side-effect of the register_filesystem and vfs_kern_mount it has to
>do in order to get the services it needs from the VFS.

Well you could add a new flag to the file_system_type struct
("FS_INVISIBLE") that is set when this or that condition (like TMPFS=n)
is in effect. It would be just cosmetic though.

You can't mount a lot of other filesystems like the hidden bdev,
pipefs or sockfs (it would really be nice to explore them with ls!),
yet they are not invisible either right now.