fsck should do some sanity checks to avoid damaging an ext3/ext4 file system
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
e2fsprogs (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
After some crashes due to a broken nvidia driver, the system didn't boot and presented me a shell to manually repair the file system.
Then I didn't think and typed fsck without the -t ext4 parameter and the program asked me many questions, if I want to fix something which I answered with y.
After some time I remembered, that I forgot to specify the -t ext4 parameter, but the filesystem was broken already, so it was already too late, when I do Ctrl-C.
And I didn't think about that there could be already severe file system corruption, making the things even worse.
Thus I would recommend that a warning message is displayed, when calling fsck manually with the wrong filesystem type.
Also a big note that this is now the right time to make an image backup of the disk could be helpful for people like me that always tell other people how important backups are before working on something, but sometimes fail to make one, because they forget to turn their brain on before starting work. ;-)
I would expect that when calling fsck on a filesystem, not just defaults are used, but the filesystem type is determined.
Then a big scary warning message should say something like this:
"
You have called fsck on an ext4 filesystem.
For an ext4 file system you *must* specify the filesystem type with option "-t ext4", otherwise severe damage to the file system will occur.
NOTE: It is highly recommended that you make a backup image of your disk device before you continue, so that you have something to recover from, if things go wrong.
This can be especially important, if the disk drive hardware you are trying to recover the filesystem on, is possibly dying.
You can use dd_rescue or similar tools to try to get a disk image to recover as much as possible of your data from a damaged hard drive.
Are you really sure, you want to continue (and probably damage the file system)? (yes/NO)
"
It should be necessary to type "yes" to continue. Just "y" or hitting enter should not not do it and abort the command.