FixDisk Results

Hi,
A routine run of fixDisk resulted in an error which is this, Error storing directory block information (inode=6754201, block=0), as such the HDD was not displaying the expected memory and would not format, does anyone have any ideas what is going on?.
 
Thanks for the reply, I am aware of this suggestion but have not applied it for I am not an expert and would not wish to make matters worse. I will wait to see what the boffins have to say firstly, thanks again.
 
If the filesystem is still readable it would be good to save any precious content before proceeding.

I couldn't see any sign in the Debian e2fsprogs changelog that Ted had implemented the check mentioned in the linked bug report, so it's entirely possible that the problem persists in the version of the package run by fixdisk.

You would have to apply the debugfs commands suggested by Ted in a Maintenance Mode telnet session. Or, as usual, if the disk can be removed to a desktop PC with a spare SATA slot or to a SATA-USB disk enclosure connected to a PC, it may be easier to run the commands and any further disk checks, maybe using a Linux live CD, and saving precious content could also be easier.
 
Thanks for the suggestion I will have a go at it, I do in fact run a Linux laptop so let's see what happens, also could you possibly say what does the listed error actually mean, does it mean that the system is ran short of inode space?
 
what does the listed error actually mean
Did you read the reference in post 2?
In fact it's a much more interesting problem. What happened was that
you got unlucky and trash got written into your inode table. One of
the inodes that got overwritten had the directory bit set, and the
extents flag was not set. So the i_blocks field was interpreted as
a series of blocks. Many of those i_blocks entries were garbage, and
were cleared, but the triple indirect block could be interpreted as a
valid block number, so we started iterating over all of the double
indirection blocks. To make sure that the directory doesn't have
"holes" in it, e2fsck then started allocating entries to keep track of
all of this via ext2fs_add_dir_block2(), and this is what caused the
memory overflow.

To fix this what we need to do is to notice when an inode looks
insane, and ask the user if they are willing to just nuke it, as
opposed to trying to fix all of the individual things that are wrong
with it.

The way to work around this problem should it occur again is to note
the inode number, and then zap it using debugfs:

debugfs -w /dev/md1
debugfs: clri <169246423>
debugfs: quit

Then e2fsck should be able to complete its work.
 
  • Like
Reactions: /df
Thanks again, yes I did read it but didn't understand it and still don't understand some of the details but certainly appeciate your detailed explanation, would you say that routine running of fixdisk might not be a good idea just in case this kind of error occurs.
 
still don't understand some of the details
Neither do I, but clearly corruption is involved rather than simply "running short".

would you say that routine running of fixdisk might not be a good idea just in case this kind of error occurs.
I don't think so, this seems to be a rare case. All processes involve some (tiny) risk, it's a question of balancing the risk of errors building up to the extent that the file system can't be 100% restored against the risk that intervening in the mean time causes the file system to be trashed.

In this case the problem is that a small corruption in a critical place which should be recoverable, but instead triggers a bug in the utility which then magnifies the corruption rather than eliminating it. The bug might get fixed, but then our Gods would need to be able to import the fix into the CF.

FWIW, I only run fix-disk if there's an obvious problem – but that's due more to round tuits and laziness than considered policy. A better idea might be to do it on a regular basis, occasionally rather than frequently.
 
Thanks for your reply I am now better informed and more confident to try tackle this problem luckily I as a matter of routine transfer all my important recordings to a separate HDD just in case, so if things go wrong...., thank you all again.
 
Back
Top