On Mon, 28 Feb 2022 10:48:15 +0800, Ye Bin wrote: > We inject IO error when rmdir non empty direcory, then got issue as follows: > step1: mkfs.ext4 -F /dev/sda > step2: mount /dev/sda test > step3: cd test > step4: mkdir -p 1/2 > step5: rmdir 1 > [ 110.920551] ext4_empty_dir: inject fault > [ 110.921926] EXT4-fs warning (device sda): ext4_rmdir:3113: inode #12: > comm rmdir: empty directory '1' has too many links (3) > step6: cd .. > step7: umount test > step8: fsck.ext4 -f /dev/sda > e2fsck 1.42.9 (28-Dec-2013) > Pass 1: Checking inodes, blocks, and sizes > Pass 2: Checking directory structure > Entry '..' in .../??? (13) has deleted/unused inode 12. Clear<y>? yes > Pass 3: Checking directory connectivity > Unconnected directory inode 13 (...) > Connect to /lost+found<y>? yes > Pass 4: Checking reference counts > Inode 13 ref count is 3, should be 2. Fix<y>? yes > Pass 5: Checking group summary information > > [...] Applied, thanks! [1/1] ext4:fix file system corrupted when rmdir non empty directory with IO error commit: 7aab5c84a0f6ec2290e2ba4a6b245178b1bf949a Best regards, -- Theodore Ts'o <tytso@xxxxxxx>