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