Re: ext3 errors



spec staggered into the Black Sun and said:
Would someone be able to explain the following error in english?
server8 kernel: EXT3-fs error (device sd(8,17)): ext3_readdir: bad
entry in directory #5242966: rec_len % 4 != 0 - offset=0,
inode=1885491289, rec_len=13113, name_len=118

[That is], what does rec_len mean, name_len, etc? A general step by
step for a non-programmer would be great.

You're going to have to be able to grok C at at least a beginner level
before you can understand all the details of the explanation below. If
you can't do that, your best bet is to make sure you have a recent
backup of this filesystem and you know how to restore it, or are willing
to umount and e2fsck the fs (possibly losing data if you're unlucky).

Directory entries are stored in a struct ext3_dir_entry_2. This
consists of a 32-bit inode#, a 16-bit record length (rec_len), an 8-bit
name length, an 8-bit file type designator, and an array of 255 chars
where the dir's filename is stored. rec_len is supposed to be divisible
by 4. In the directory with inode# 5242966, it isn't. The file with
the problem has inode# 1885491289, and its name is 118 chars long. With
that info, you should be able to find the problem file and the dir it's
in with find and the -inum option. What might've caused this? Hardware
failure? Are there any other errors for /dev/sdb1 in the logs? Disks
do fall over and barf occasionally, that's why the Flying Spaghetti
Monster invented RAID.

It *might* be possible to clear this problem out with debugfs. Read the
man page for debugfs at least 3 times before trying to use it.
F'rexample, "clri <1885491289>" will clear inode 1885491289 (the problem
file as given by the kernel). Only use debugfs if you have no other way
of fixing the problem; it's a serious tool and not intended for casual
use. HTH anyway,

--
I will rule you all with my iron fist. YOU! Obey the fist!
--Invader Zim
Matt G|There is no Darkness in Eternity/But only Light too dim for us to see
.



Relevant Pages

  • ext2 undelete data recovery
    ... long story short:I have freshly formated hdb2 muved my home ... I use debugfs to see agein my inods and with command dump to dump ... I let the debugfs create file called lsdel.out .In here is echoed all ... the ldel outputs with inode number user blocs and other details about ...
    (comp.os.linux.misc)
  • debugfs and dump help
    ... I accidently deleted a file and am trying to recover them using debugfs ... I see the inode of the deleted files is marked as. ...
    (RedHat)
  • [PATCH 9/9] clockpro-clockpro-stats.patch
    ... - use debugfs? ... files changed, 75 insertions(+) ... extern struct seq_operations zoneinfo_op; ... static int zoneinfo_open(struct inode *inode, ...
    (Linux-Kernel)