ext4: stop inode update before return
authorPan Bian <bianpan2016@163.com>
Sun, 17 Jan 2021 08:57:32 +0000 (00:57 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 21 Mar 2021 04:42:12 +0000 (00:42 -0400)
The inode update should be stopped before returing the error code.

Signed-off-by: Pan Bian <bianpan2016@163.com>
Link: https://lore.kernel.org/r/20210117085732.93788-1-bianpan2016@163.com
Fixes: 8016e29f4362 ("ext4: fast commit recovery path")
Cc: stable@kernel.org
Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c

index 927e47db7f00b41cde5f0351a11bd14cec250424..0948a43f1b3df379a55edc0694d34605aeb3ba76 100644 (file)
@@ -5387,8 +5387,10 @@ int ext4_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
                        inode->i_gid = attr->ia_gid;
                error = ext4_mark_inode_dirty(handle, inode);
                ext4_journal_stop(handle);
-               if (unlikely(error))
+               if (unlikely(error)) {
+                       ext4_fc_stop_update(inode);
                        return error;
+               }
        }
 
        if (attr->ia_valid & ATTR_SIZE) {