lkml.org 
[lkml]   [2018]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [f2fs-dev] [PATCH 1/2] f2fs: report ENOENT correct in f2fs_rename
    On 09/18, Chao Yu wrote:
    > On 2018/9/18 10:18, Jaegeuk Kim wrote:
    > > This fixes wrong error report in f2fs_rename.
    > >
    > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    > > ---
    > > fs/f2fs/namei.c | 3 ++-
    > > 1 file changed, 2 insertions(+), 1 deletion(-)
    > >
    > > diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
    > > index 98d3ab7c3ce6..d653be777529 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;
    >
    > I didn't get what's the difference after moving initialization of 'err' here...

    One example,

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

    --> need to return ENOENT instead of 0.

    goto out;
    }

    >
    > Thanks,
    >
    > > if (new_inode) {
    > > err = dquot_initialize(new_inode);
    > > if (err)
    > >

    \
     
     \ /
      Last update: 2018-09-18 20:01    [W:3.522 / U:0.380 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site