I have a little storage server with 8 500GB drives in a hardware RAID5 setup. Of course I formatted the partition with ext3, running on CentOS 4.4 x86_64. The e2fsprogs is version 1.35, which is a little old but should work.
The system crashed the other day, and when the system came back up it dropped into 'repair' mode because of inode bitmap and table errors. I then ran 'e2fsck -y -C 0 /dev/sdc1' and got the following messages right away:
Inode bitmap for group 23259 is not in group. (block 3268572813) Relocate? y
Inode table for group 23259 is not in group. (block 3268572813) Relocate? y
This was repeated up to group 23295. Then it started on pass 1. After six hours, e2fsck fixed a bunch of other errors too numerous to mention, successfully relocated all of the inode bitmaps, and relocated all but four of the inode tables. Those four tables, for groups 23259, 23260, 23263, and 23266 could not be relocated because:
Error allocating 86 contiguous block(s) in block group 23259 for inode table: Could not allocate block in ext2 filesystem
I let e2fsck run overnight, and it continues to loop after pass 1 with the same messages.
1) Could I use debugfs to manually delete enough files to free up 344KB contiguous space?
1a) If so, can get some pointers on the process to follow?
2) Would e2fsck then be able to relocate the inode tables and complete successfully?
3) Is there any documentation on debugfs more detailed that the man page and less detailed than the source code?
Um. Pretty please, with sugar on top?