ext4: make ext4_add_dirent_to_inline function return 0

Submitted by Zheng Liu on July 9, 2013, 12:11 a.m.

Details

Message ID 1373328699-23037-1-git-send-email-wenqing.lz@taobao.com
State Rejected, archived
Headers show

Commit Message

Zheng Liu July 9, 2013, 12:11 a.m.
From: Zheng Liu <wenqing.lz@taobao.com>

Currently ext4_add_dirent_to_inline() function returns 1 to indicate
that a new directory entry has been added.  But it sounds reasonable
to return 0 in this function.  Meanwhile we also can eliminate a if
statement in ext4_add_entry() function when a directory entry has added
correctly.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Cc: Tao Ma <tm@tao.ma>
Cc: "Theodore Ts'o" <tytso@mit.edu>
---
 fs/ext4/inline.c |    2 +-
 fs/ext4/namei.c  |    6 +-----
 2 files changed, 2 insertions(+), 6 deletions(-)

Comments

Tao Ma July 9, 2013, 1:47 a.m.
On 07/09/2013 08:11 AM, Zheng Liu wrote:
> From: Zheng Liu <wenqing.lz@taobao.com>
> 
> Currently ext4_add_dirent_to_inline() function returns 1 to indicate
> that a new directory entry has been added.  But it sounds reasonable
> to return 0 in this function.  Meanwhile we also can eliminate a if
> statement in ext4_add_entry() function when a directory entry has added
> correctly.
> 
> Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
> Cc: Tao Ma <tm@tao.ma>
> Cc: "Theodore Ts'o" <tytso@mit.edu>
> ---
>  fs/ext4/inline.c |    2 +-
>  fs/ext4/namei.c  |    6 +-----
>  2 files changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
> index b8a0746..5a27d32 100644
> --- a/fs/ext4/inline.c
> +++ b/fs/ext4/inline.c
> @@ -1027,7 +1027,7 @@ static int ext4_add_dirent_to_inline(handle_t *handle,
>  	ext4_update_dx_flag(dir);
>  	dir->i_version++;
>  	ext4_mark_inode_dirty(handle, dir);
> -	return 1;
> +	return 0;
>  }
>  
>  static void *ext4_get_inline_xattr_pos(struct inode *inode,
> diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
> index ab2f6dc..2a6a736 100644
> --- a/fs/ext4/namei.c
> +++ b/fs/ext4/namei.c
> @@ -1901,12 +1901,8 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
>  
>  	if (ext4_has_inline_data(dir)) {
>  		retval = ext4_try_add_inline_entry(handle, dentry, inode);
> -		if (retval < 0)
> +		if (retval <= 0)
Sorry, I guess you misread the codes here. If we get 0 here, it means
that ext4_try_add_inline_entry can't add this entry into the inline
data, but there is no error, so please go on with the normal case. "1"
means we have successfully done the work. So your change is wrong.

Thanks,
Tao
>  			return retval;
> -		if (retval == 1) {
> -			retval = 0;
> -			return retval;
> -		}
>  	}
>  
>  	if (is_dx(dir)) {
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zheng Liu July 9, 2013, 12:15 p.m.
On Tue, Jul 09, 2013 at 09:47:12AM +0800, Tao Ma wrote:
> On 07/09/2013 08:11 AM, Zheng Liu wrote:
> > From: Zheng Liu <wenqing.lz@taobao.com>
> > 
> > Currently ext4_add_dirent_to_inline() function returns 1 to indicate
> > that a new directory entry has been added.  But it sounds reasonable
> > to return 0 in this function.  Meanwhile we also can eliminate a if
> > statement in ext4_add_entry() function when a directory entry has added
> > correctly.
> > 
> > Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
> > Cc: Tao Ma <tm@tao.ma>
> > Cc: "Theodore Ts'o" <tytso@mit.edu>
> > ---
> >  fs/ext4/inline.c |    2 +-
> >  fs/ext4/namei.c  |    6 +-----
> >  2 files changed, 2 insertions(+), 6 deletions(-)
> > 
> > diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
> > index b8a0746..5a27d32 100644
> > --- a/fs/ext4/inline.c
> > +++ b/fs/ext4/inline.c
> > @@ -1027,7 +1027,7 @@ static int ext4_add_dirent_to_inline(handle_t *handle,
> >  	ext4_update_dx_flag(dir);
> >  	dir->i_version++;
> >  	ext4_mark_inode_dirty(handle, dir);
> > -	return 1;
> > +	return 0;
> >  }
> >  
> >  static void *ext4_get_inline_xattr_pos(struct inode *inode,
> > diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
> > index ab2f6dc..2a6a736 100644
> > --- a/fs/ext4/namei.c
> > +++ b/fs/ext4/namei.c
> > @@ -1901,12 +1901,8 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
> >  
> >  	if (ext4_has_inline_data(dir)) {
> >  		retval = ext4_try_add_inline_entry(handle, dentry, inode);
> > -		if (retval < 0)
> > +		if (retval <= 0)
> Sorry, I guess you misread the codes here. If we get 0 here, it means
> that ext4_try_add_inline_entry can't add this entry into the inline
> data, but there is no error, so please go on with the normal case. "1"
> means we have successfully done the work. So your change is wrong.

Ah, you are right.  Thanks for pointing it out.

                                                - Zheng
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch hide | download patch | download mbox

diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index b8a0746..5a27d32 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -1027,7 +1027,7 @@  static int ext4_add_dirent_to_inline(handle_t *handle,
 	ext4_update_dx_flag(dir);
 	dir->i_version++;
 	ext4_mark_inode_dirty(handle, dir);
-	return 1;
+	return 0;
 }
 
 static void *ext4_get_inline_xattr_pos(struct inode *inode,
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index ab2f6dc..2a6a736 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -1901,12 +1901,8 @@  static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
 
 	if (ext4_has_inline_data(dir)) {
 		retval = ext4_try_add_inline_entry(handle, dentry, inode);
-		if (retval < 0)
+		if (retval <= 0)
 			return retval;
-		if (retval == 1) {
-			retval = 0;
-			return retval;
-		}
 	}
 
 	if (is_dx(dir)) {