Re: [PATCH] 9p: fix return value in case in v9fs_fid_xattr_set()
From: Geyslan GregÃrio Bem
Date: Mon Oct 21 2013 - 16:33:41 EST
2013/10/21 Geyslan G. Bem <geyslan@xxxxxxxxx>:
> In case of error in the p9_client_write, the function v9fs_fid_xattr_set
> should return its negative value, what was never being done.
>
> In case of success it only retuned 0. Now it returns the 'offset'
> variable (write_count total).
>
> Signed-off-by: Geyslan G. Bem <geyslan@xxxxxxxxx>
> ---
> fs/9p/xattr.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/fs/9p/xattr.c b/fs/9p/xattr.c
> index 3c28cdf..04133a1 100644
> --- a/fs/9p/xattr.c
> +++ b/fs/9p/xattr.c
> @@ -138,8 +138,7 @@ int v9fs_fid_xattr_set(struct p9_fid *fid, const char *name,
> if (retval < 0) {
> p9_debug(P9_DEBUG_VFS, "p9_client_xattrcreate failed %d\n",
> retval);
> - p9_client_clunk(fid);
> - return retval;
> + goto err;
> }
> msize = fid->clnt->msize;
> while (value_len) {
> @@ -152,12 +151,15 @@ int v9fs_fid_xattr_set(struct p9_fid *fid, const char *name,
> if (write_count < 0) {
> /* error in xattr write */
> retval = write_count;
> - break;
> + goto err;
> }
> offset += write_count;
> value_len -= write_count;
> }
> - return p9_client_clunk(fid);
> + retval = offset;
> +err:
> + p9_client_clunk(fid);
> + return retval;
> }
>
> ssize_t v9fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
> --
> 1.8.4
>
Eric,
As you can see, I modified the success return value to the offset
(write_count sum), following the same principle of
v9fs_fid_xattr_get():
http://lxr.free-electrons.com/source/fs/9p/xattr.c#L65
What do you think?
Regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/