diff mbox series

ext4: stop update inode before return

Message ID 20210119110121.36656-1-bianpan2016@163.com
State New
Headers show
Series ext4: stop update inode before return | expand

Commit Message

Pan Bian Jan. 19, 2021, 11:01 a.m. UTC
Stop inode updating before returning the error code.

Fixes: aa75f4d3daae ("ext4: main fast-commit commit path")
Signed-off-by: Pan Bian <bianpan2016@163.com>
---
 fs/ext4/inode.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

harshad shirwadkar Jan. 20, 2021, 5:43 p.m. UTC | #1
Thanks Pan for the fix. Looks good to me.

Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>

On Tue, Jan 19, 2021 at 3:04 AM Pan Bian <bianpan2016@163.com> wrote:
>
> Stop inode updating before returning the error code.
>
> Fixes: aa75f4d3daae ("ext4: main fast-commit commit path")
> Signed-off-by: Pan Bian <bianpan2016@163.com>
> ---
>  fs/ext4/inode.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index c173c8405856..64039bbb656d 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -5389,8 +5389,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) {
> --
> 2.17.1
>
diff mbox series

Patch

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index c173c8405856..64039bbb656d 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -5389,8 +5389,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) {