On 2018/9/20 6:50, Jaegeuk Kim wrote:
> This fixes wrong error report in f2fs_rename.
> 
> Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
> ---
> Change log from v1:
>  - cover rename2 case
> 
>  fs/f2fs/namei.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
> index 98d3ab7c3ce6..48f919469151 100644
> --- a/fs/f2fs/namei.c
> +++ b/fs/f2fs/namei.c
> @@ -833,7 +833,7 @@ static int f2fs_rename(struct inode *old_dir, struct 
> dentry *old_dentry,
>       struct f2fs_dir_entry *old_entry;
>       struct f2fs_dir_entry *new_entry;
>       bool is_old_inline = f2fs_has_inline_dentry(old_dir);
> -     int err = -ENOENT;
> +     int err;
>  
>       if (unlikely(f2fs_cp_error(sbi)))
>               return -EIO;
> @@ -854,6 +854,7 @@ static int f2fs_rename(struct inode *old_dir, struct 
> dentry *old_dentry,
>       if (err)
>               goto out;
>  
> +     err = -ENOENT;

It should be assigned after dquot_initialize(), otherwise, err's value can
still be reset to 0 due to dquot_initialize().

>       if (new_inode) {
>               err = dquot_initialize(new_inode);
>               if (err)
> @@ -1049,6 +1050,7 @@ static int f2fs_cross_rename(struct inode *old_dir, 
> struct dentry *old_dentry,
>       if (err)
>               goto out;
>  
> +     err = -ENOENT;

We can remove err initialization like f2fs_rename()

int err;

Thanks,

>       old_entry = f2fs_find_entry(old_dir, &old_dentry->d_name, &old_page);
>       if (!old_entry) {
>               if (IS_ERR(old_page))
> 



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to