2009-01-19 03:55:40

by Zhang Xiliang

[permalink] [raw]
Subject: kernel BUG at ext4_readdir

Hi,

I used soft raid on IA64 and got the following error report.
(I found the type of rec_len is "__u16". But the actual value of rec_len is more than 65535.)

# fdisk -l

Disk /dev/sdc: 881.0 GB, 881005166592 bytes
255 heads, 63 sectors/track, 107109 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0000544c

Device Boot Start End Blocks Id System
/dev/sdc1 1 107109 860353011 fd Linux raid autodetect
...
Device Boot Start End Blocks Id System
/dev/sdd1 1 107109 860353011 fd Linux raid autodetect
...
Device Boot Start End Blocks Id System
/dev/sde1 1 107109 860353011 fd Linux raid autodetect
...
Device Boot Start End Blocks Id System
/dev/sdf1 1 107109 860353011 fd Linux raid autodetect

# mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/sdc1 /dev/sdd1 /dev/sde1 \
/dev/sdf1
# mkfs.ext4 -b 65536 /dev/md0
# mount -t ext4 /dev/md0 /mnt
# cd /mnt
# dd if=/dev/zero of=tmp_file bs=1M count=1000
# dmesg

EXT4-fs error (device md0): ext4_readdir: bad entry in directory #11: rec_len
is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
EXT4-fs error (device md0): empty_dir: bad entry in directory #11: rec_len is
smaller than minimal - offset=65536, inode=0, rec_len=0, name_len=0