diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 98f381f6fc180..4118b720b6762 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -5701,7 +5701,12 @@ int ext4_mark_iloc_dirty(handle_t *handle, } ext4_fc_track_inode(handle, inode); - if (IS_I_VERSION(inode)) + /* + * ea_inodes are using i_version for storing reference count, don't + * mess with it + */ + if (IS_I_VERSION(inode) && + !(EXT4_I(inode)->i_flags & EXT4_EA_INODE_FL)) inode_inc_iversion(inode); /* the do_update_inode consumes one bh->b_count */