[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

ext3_readdir error



Hi,

I am getting the following errors on /boot partition on a production 
server running 2.4.18 kernel.

-------------
Aug 10 00:19:37 kernel: EXT3-fs error (device sd(8,1)): 
ext3_readdir: bad entry in directory #2: rec_len is smaller than minimal - 
offset=0, inode=0, rec_len=0, name_len=0

-------------

/boot is not readable at all and attempt to do an ls will return the same 
error.

attempts to force  an fsck on that mounted partition (not sure if if it ok 
to umount /boot) results in fsck returning a segmentation fault.

here is an strace of fsck crashing.
Any idea on how to recover form this one gracefully? preferably witout 
rebooting :)


------
strace /sbin/fsck.ext3 -n /dev/sda1
execve("/sbin/fsck.ext3", ["/sbin/fsck.ext3", "-n", "/dev/sda1"], [/* 26 
vars */]) = 0
fcntl64(0, 0x1, 0, 0xbffffc74)          = 0
fcntl64(0x1, 0x1, 0, 0xbffffc74)        = 0
fcntl64(0x2, 0x1, 0, 0xbffffc74)        = 0
geteuid32()                             = 0
getuid32()                              = 0
getegid32()                             = 0
getgid32()                              = 0
brk(0)                                  = 0x80d4fd0
brk(0x80d4ff0)                          = 0x80d4ff0
brk(0x80d5000)                          = 0x80d5000
brk(0x80d6000)                          = 0x80d6000
rt_sigaction(SIGUSR1, {0x8048e40, [], SA_RESTART|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {0x8048e74, [], SA_RESTART|0x4000000}, NULL, 8) = 0
open("/dev/null", O_RDWR)               = 3
close(3)                                = 0
gettimeofday({1028968512, 177653}, NULL) = 0
getrusage(RUSAGE_SELF, {ru_utime={0, 0}, ru_stime={0, 0}, ...}) = 0
write(2, "e2fsck 1.26 (3-Feb-2002)\n", 25e2fsck 1.26 (3-Feb-2002)
) = 25
stat64("/dev/sda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 1), ...}) = 
0
open("/proc/swaps", O_RDONLY)           = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x40000000
read(3, "Filename\t\t\tType\t\tSize\tUsed\tPrior"..., 1024) = 148
stat64("/dev/sda7", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 7), ...}) = 
0
stat64("/dev/sda8", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 8), ...}) = 
0
read(3, "", 1024)                       = 0
open("/proc/mounts", O_RDONLY)          = 5
stat64("/dev/sda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 1), ...}) = 
0
brk(0x80d8000)                          = 0x80d8000
fstat64(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x40001000
read(5, "/dev/root / ext3 rw 0 0\n/proc /p"..., 1024) = 529
stat64("/dev/root", 0xbffff930)         = -1 ENOENT (No such file or 
directory)
stat64("/proc", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
stat64("/boot", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(5)                                = 0
munmap(0x40001000, 4096)                = 0
write(1, "Warning!  /dev/sda1 is mounted.\n", 32Warning!  /dev/sda1 is 
mounted.
) = 32
brk(0x80d9000)                          = 0x80d9000
open("/dev/sda1", O_RDONLY|O_LARGEFILE) = 5
lseek(5, 1024, SEEK_SET)                = 1024
read(5, "\210\27\0\0\2^\0\0\263\4\0\0B(\0\0X\27\0\0\1\0\0\0\0\0"..., 1024) 
= 1024
brk(0x80da000)                          = 0x80da000
lseek(5, 2048, SEEK_SET)                = 2048
read(5, "\3\0\0\0\4\0\0\0\5\0\0\0\17\6\265\7\2\0\0\0\0\0\0\0\0\0"..., 
1024) = 1024
lseek(5, 5120, SEEK_SET)                = 5120
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) 
= 1024
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

------------


------
Martial






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]