Re: Configuration system bug? : tmpfs listing in /proc/filesystems when TMPFS was not configured!?

From: Chiaki
Date: Sun Nov 07 2004 - 01:02:30 EST


Hugh Dickins wrote:

On Sun, 7 Nov 2004, Chiaki wrote:

Should not this line be ifdef'ed out???
That is, should we modify the line like this?

#ifdef CONFIG_TMPFS
error = register_filesystem(&tmpfs_fs_type);
#endif


I'd be more inclined to register under a different
name than "tmpfs" in the !CONFIG_TMPFS case.

Something like "tMpfs" might be a good idea to
show the strange setting :-)


But as I said in my earlier reply to you (which you should have
received before you sent this?), it's been like this ever since
2.4.4 when "tmpfs" and CONFIG_TMPFS came into being, so I don't
see why we need to change it now.

Thank you for your previous e-mail.
I didn't know it reached my computer since my mozilla e-mail
filtering mitakingly classified your kind response into
an unexpected folder. I searched after reading the above paragraph
and found your previous e-mail.

The real 2.4.9 error is fixed by the patch below that I sent then:
does that solve your problems?

YES!

With the original 2.6.9, the mount didn't complain at all, and
then I got bizarre behavir afterward and udev script and booting
stopped at that point.

But wih your patch, now mount fails.
So now it is a matter of fixing udev script to
take care of the case of failing tmpfs mounting.
I will re-open the debian bugzilla entry concerning this
so that Debian udev package and possibly an upstream package
can be fixed.



tmpfs mount failure example: (I had created /tmp/t-dir.)

duron:/home/ishikawa# mount -n -o size=1m,mode=0755 -t tmpfs none /tmp/t-dir
mount: wrong fs type, bad option, bad superblock on none,
or too many mounted file systems
duron:/home/ishikawa#


Hugh

--- 2.6.9/mm/shmem.c 2004-10-18 22:56:29.000000000 +0100
+++ linux/mm/shmem.c 2004-11-06 21:04:41.743173040 +0000
@@ -1904,6 +1904,8 @@ static int shmem_fill_super(struct super
sbinfo->max_inodes = inodes;
sbinfo->free_inodes = inodes;
}
+#else
+ sb->s_flags |= MS_NOUSER;
#endif
sb->s_maxbytes = SHMEM_MAX_BYTES;





Thank you very much!



--
int main(void){int j=2003;/*(c)2003 cishikawa. */
char t[] ="<CI> @abcdefghijklmnopqrstuvwxyz.,\n\"";
char *i ="g>qtCIuqivb,gCwe\np@.ietCIuqi\"tqkvv is>dnamz";
while(*i)((j+=strchr(t,*i++)-(int)t),(j%=sizeof t-1),
(putchar(t[j])));return 0;}/* under GPL */
-
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/