On May 15, 2002 23:27 +0200, Andrea Arcangeli wrote:> Only in 2.4.19pre8aa3: 00_ext3-register-filesystem-lifo-1> > Make sure to always try mounting with ext3 before ext2 (otherwise> it's impossible to mount the real rootfs with ext3 if ext3 is a module> loaded by an initrd and ext2 is linked into the kernel).

Hmm, I don't think this is true. While I'm not an initrd user, peoplehave been doing this with RH for quite some time. Note that it is notnecessarily true that they get it _correct_ all the time, but eventuallyit works. Apparently you need to explicitly specify the root filesystemtype for the initrd mount.

Note that I haven't seen the patch in question yet (mirrors don't haveit), but somehow I don't think that changing the order of theregistration is going to help. If they have both ext2 and ext3 asmodules, and insmod ext3 first and ext2 second, you've just brokentheir setup. Similarly, (depending on how it is done) I imagine thiswould break kernels that have both ext3 and ext2 compiled in.

The only reasonable solution is to not guess at the root filesystem typeand mount it with the correct type explicitly. I think the RH mkinitrdwill check /etc/filesystems for the root fs and use the type there. Ifthe user forgets to run mkinitrd after changing their kernel, there isnot much you can do about that.

What _may_ be helpful is if ext2 printed a small warning that it ismounting a filesystem with a journal as ext2 and no journaling willbe done, if the user really wanted to do that (normally they will not).

This will at least alert some users that their root filesystem is notbeing mounted as ext3 and eliminate a number of support requests onext2-devel when initrd users are wondering why e2fsck is being run ontheir supposedly journaled filesystem. The fact that "mount" outputshows ext3 as the filesystem type (while 'cat /proc/mounts' shows ext2)does nothing to help the user figure out what is wrong.