neutro Posted January 31, 2004 Report Share Posted January 31, 2004 In my understanding, the ext3 journalling filesystem was supposed to prevent lengthy (and frightening) fsck checks after crashes / hard reset. I'm running Mandrake 9.1 on ext3 filesystems, yet after hard resets, I get the following message on the following bootup: Your system appears to have shut down uncleanly. Press Y within 5 seconds to force filesystem integrity check If I press Y, fsck starts for a first pass, fixing small errors such as inode dtimes. Then it asks me if I want to repair errors, and if I press Y again, fsck run a second time, deleting inodes, etc. Exactly what I thought ext3 would prevent. After some discussion with a friend, I realized that ext3 support is not compiled in the mdk9.1's stock kernel, but rather compiled as a kernel module. Thus, when the root filesystem is mounted in r-o mode at boot-up, the ext3 module is not yet loaded, and thus is mounted as an ext2 filesystem. And if it was not cleanly unmounted, fsck is triggered, before the journal could have been replayed. On an obscure forum :D, I read that one should answer 'N' to fsck in order to wait for the ext3 module to be loaded. When remounting the root filesystem in rw mode, ext3 would then be loaded and the journal could then be replayed, without any need to run fsck. Thus, I made a test. I *purposely* did a hard reset just to see. When I was asked the above question, I didn't press Y. I then got: Checking root filesystem/dev/hda1 was not cleanly unmounted, check forced. This is, as far as I can tell, the habitual first fsck pass where inode dtimes are fixed. Afterwards I get: (...)/dev/hda1: ***** REBOOT LINUX ***** (...) Failed to check filesystem. Do you want to repair the errors? (Y/N) (beware, you can lose data). First of all... What does the "reboot linux" mean? That Linux just rebooted? That would be surprising. That I have to reboot linux? Well, I'm certainly not hard-resetting my computer between two fsck passes! Second, what should a Mandrake 9.1 + ext3 user answer to this question? I was too chicken to risk running my system with a corrupted filesystem, so I pressed Y. The interesting thing here is that, unlike when I press Y within 5 seconds at the first question, I got no second fsck pass there (maybe there just wasn't any error?). The boot-up just continued normally, remounting the root filesystem in rw mode. And later: /dev/hda5 Recovering journal/dev/hda7 Recovering journal Well. Can someone tell me what's going on? Should I press Y or N to fsck questions? If I should press N, does that mean that it's something that Mandrake overlooked? Quote Link to comment Share on other sites More sharing options...
aRTee Posted January 31, 2004 Report Share Posted January 31, 2004 Just don't press anything, and it will check if it can recover the journal. If it can, all is fine. That's thanks to ext3. And yes, it is in the kernel, not a module. The forced check is an option that people would shout about if it weren't there, but really afaics not necessary. Quote Link to comment Share on other sites More sharing options...
Ronin Posted January 31, 2004 Report Share Posted January 31, 2004 Just don't press anything, and it will check if it can recover the journal. If it can, all is fine.That's thanks to ext3. And yes, it is in the kernel, not a module. The forced check is an option that people would shout about if it weren't there, but really afaics not necessary. What do you do if it doesn't recover? I had a breaker blow last Saturday and when I fixed that and powered the box back up I got the error bad Supermount. I tried knoppix and e2fsck but I get the error still bad supermount. I tried the -b options but still the same. I'm starting to think that it's royally fried and theres only one thing left to do. Reinstall. Quote Link to comment Share on other sites More sharing options...
neutro Posted January 31, 2004 Author Report Share Posted January 31, 2004 (edited) Just don't press anything, and it will check if it can recover the journal. If it can, all is fine. Ok, so if I do that but end up with the "Failed to check filesystem. Do you want to repair the errors" message, that would mean that the journal failed to be recovered, and I should press Y? And yes, it is in the kernel, not a module. Huh, nope. In Mandrake 9.1 it's a kernel module: # lsmod | grep ext3 ext3 64704 2 (autoclean) jbd 48532 2 (autoclean) [ext3] The forced check is an option that people would shout about if it weren't there Obviously! Thanks for your input. Edited January 31, 2004 by neutro Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.