Description
Way to reproduce:
mkfs.ext4 -O large_xattr /path/to/dev
#
mount -t ldiskfs /path/to/dev /mnt
#
touch /mnt/file
#
# create xattr stored on ea_inode
#
setfattr -n user.longxattr -v $(printf '=%.0s' {1..4054}) /mnt/file
#
umount /mnt
#
# corrupt the filesystem so that e2fsck will try to attach ea_inode to lost+found:
#
debugfs -w -R 'clri file' /path/to/dev
#
# e2fsck in readonly mode tries to write node
#
# e2fsck -fn /path/to/dev
e2fsck 1.42.13.wc5 (15-Apr-2016)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Entry 'file' in / (2) has deleted/unused inode 12. Clear? no
Entry 'file' in / (2) has an incorrect filetype (was 1, should be 0).
Fix? no
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
ext2fs_write_inode: Attempt to write to filesystem opened read-only while writing inode 13 in disconnect_inode
/path/to/dev: ********** WARNING: Filesystem still has errors **********