Revert "ext4: drop duplicate ea_inode handling in ext4_xattr_block_set()"
authorJan Kara <jack@suse.cz>
Thu, 21 Mar 2024 16:26:49 +0000 (17:26 +0100)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 3 May 2024 04:02:08 +0000 (00:02 -0400)
This reverts commit 7f48212678e91a057259b3e281701f7feb1ee397. We will
need the special cleanup handling once we move allocation of EA inode
outside of the buffer lock in the following patch.

Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20240321162657.27420-1-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/xattr.c

index b67a176bfcf9f9548dc78d826c7bd854f76bb499..146690c10c73f24f5965e3d31ae0e499b644ff0e 100644 (file)
@@ -2158,6 +2158,17 @@ getblk_failed:
                                                      ENTRY(header(s->base)+1));
                        if (error)
                                goto getblk_failed;
+                       if (ea_inode) {
+                               /* Drop the extra ref on ea_inode. */
+                               error = ext4_xattr_inode_dec_ref(handle,
+                                                                ea_inode);
+                               if (error)
+                                       ext4_warning_inode(ea_inode,
+                                                          "dec ref error=%d",
+                                                          error);
+                               iput(ea_inode);
+                               ea_inode = NULL;
+                       }
 
                        lock_buffer(new_bh);
                        error = ext4_journal_get_create_access(handle, sb,