EXT3 corruption when FS is full

Russell King
2002-03-17T10:44:06Z

Hi,

(I'm not subscribed to ext3-users, please CC: me)

Kernel: 2.4.18.

I've just converted a 100(ish) MiB ext2 filesystem to ext3 (umount,
tune2fs -j, e2fsck, mount) and it seems to be happy, except...

As a test, I then filled the filesystem up, lastly copying /usr/bin (as
root, so the filesystem became brim full).

I then umounted it, and ran e2fsck -n -f /dev/hda6, and got the following:

e2fsck 1.23, 15-Aug-2001 for EXT2 FS 0.5b, 95/08/09
Pass 1: Checking inodes, blocks, and sizes
Inode 4113, i_blocks is 142, should be 64.  Fix? no
Inode 5902, i_blocks is 2, should be 0.  Fix? no
Inode 5903, i_blocks is 2, should be 0.  Fix? no
Inode 5904, i_blocks is 2, should be 0.  Fix? no
Inode 5905, i_blocks is 2, should be 0.  Fix? no
Inode 5906, i_blocks is 2, should be 0.  Fix? no
Inode 5907, i_blocks is 2, should be 0.  Fix? no
Inode 5908, i_blocks is 2, should be 0.  Fix? no
Inode 5910, i_blocks is 2, should be 0.  Fix? no
Inode 5911, i_blocks is 2, should be 0.  Fix? no
Inode 5912, i_blocks is 2, should be 0.  Fix? no
Inode 5913, i_blocks is 2, should be 0.  Fix? no
Inode 5914, i_blocks is 2, should be 0.  Fix? no
Inode 5915, i_blocks is 2, should be 0.  Fix? no
Inode 5916, i_blocks is 2, should be 0.  Fix? no
Inode 5917, i_blocks is 2, should be 0.  Fix? no
Inode 5918, i_blocks is 2, should be 0.  Fix? no
Inode 5919, i_blocks is 2, should be 0.  Fix? no
Inode 5920, i_blocks is 2, should be 0.  Fix? no
Inode 5922, i_blocks is 2, should be 0.  Fix? no
Inode 5924, i_blocks is 2, should be 0.  Fix? no
Inode 5925, i_blocks is 2, should be 0.  Fix? no
Inode 5926, i_blocks is 2, should be 0.  Fix? no
Inode 5927, i_blocks is 2, should be 0.  Fix? no
Inode 5928, i_blocks is 2, should be 0.  Fix? no
Inode 5929, i_blocks is 2, should be 0.  Fix? no
Inode 5930, i_blocks is 2, should be 0.  Fix? no
Inode 5931, i_blocks is 2, should be 0.  Fix? no
Inode 5932, i_blocks is 2, should be 0.  Fix? no
Inode 5933, i_blocks is 2, should be 0.  Fix? no
Inode 5934, i_blocks is 2, should be 0.  Fix? no
Inode 5935, i_blocks is 2, should be 0.  Fix? no
Inode 5936, i_blocks is 2, should be 0.  Fix? no
Inode 5937, i_blocks is 2, should be 0.  Fix? no
Inode 5938, i_blocks is 2, should be 0.  Fix? no
Inode 5939, i_blocks is 2, should be 0.  Fix? no
Inode 5940, i_blocks is 2, should be 0.  Fix? no
Inode 5941, i_blocks is 2, should be 0.  Fix? no
Inode 5942, i_blocks is 2, should be 0.  Fix? no
Inode 5943, i_blocks is 2, should be 0.  Fix? no
Inode 5944, i_blocks is 2, should be 0.  Fix? no
Inode 5945, i_blocks is 2, should be 0.  Fix? no
Inode 5946, i_blocks is 2, should be 0.  Fix? no
Inode 5947, i_blocks is 2, should be 0.  Fix? no
Inode 5901, i_blocks is 252, should be 250.  Fix? no
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 4264 ref count is 3, should be 2.  Fix? no
Pass 5: Checking group summary information
/dev/hda6: ********** WARNING: Filesystem still has errors **********
/dev/hda6: 1880/30840 files (1.3% non-contiguous), 122881/122881 blocks


--
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux