summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorPan Bian <bianpan2016@163.com>2021-01-17 11:57:32 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-25 11:04:17 +0300
commitd130b802f98a80c43c13607003911a7bb03b0cc7 (patch)
tree3a847cd4f8ca4897b6fcf59bad8fc480a9c7c75b /fs
parent258db8e6ffdc11535ea25cb3b1bc0cb70317b43f (diff)
downloadlinux-d130b802f98a80c43c13607003911a7bb03b0cc7.tar.xz
ext4: stop inode update before return
commit 512c15ef05d73a04f1aef18a3bc61a8bb516f323 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 0afab6d5c65b..0021047524e4 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -5385,8 +5385,10 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
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) {