On Tue, Jan 28, 2025 at 01:57:51PM +0530, Bhupesh wrote: > Once we are inside the 'ext4_xattr_delete_inode' function and trying > to delete the inode, the 'xattr_sem' should be unlocked. > > We need trylock here to avoid false-positive warning from lockdep > about reclaim circular dependency. > > This makes the 'ext4_xattr_delete_inode' implementation mimic the > existing 'ext2_xattr_delete_inode' implementation and thus avoid > similar lockdep issues while deleting inodes. > > Signed-off-by: Bhupesh <bhupesh@xxxxxxxxxx> This patch is causing a failure of test ext4/026, and also exposed a bug in e2fsprogs[1]. With the e2fsprogs bug fixed, the file system corruption which is induced by ext4/026 is (when running e2fsck -fn on SCRATCH_DEV): Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Regular filesystem inode 14 has EA_INODE flag set. Clear? no Unattached inode 14 Connect to /lost+found? no Pass 5: Checking group summary information /tmp/kvm-xfstests-tytso/vdc.img: ********** WARNING: Filesystem still has errors ********** [1] https://lore.kernel.org/20250317144526.990271-1-tytso@xxxxxxx So what appears to be happening is this patch is resulting in ext4/026 failing to clean up a no-longer-used EA inode, which is unfortunate. Without the e2fsorigs bug fix, ext4/026 will fail but the error message will be much less edifying: e2fsck 1.47.2 (1-Jan-2025) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts ext2fs_write_inode: Attempt to write to filesystem opened read-only while writing inode 14 in pass4 e2fsck: aborted So I'm going to drop this patch (2/2) from the ext4 tree, but I'm going to keep patch 1/2 from this series, since it is fixing a real bug. I presume that without this patch, the syzbot reproducer will trigger a false lockdep warning, but we can fix that later. Thanks, - Ted