lkml.org 
[lkml]   [2013]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] 9p: fix return value in case in v9fs_fid_xattr_set()
From
2013/10/21 Geyslan G. Bem <geyslan@gmail.com>:
> 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@gmail.com>
> ---
> 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.


\
 
 \ /
  Last update: 2013-10-21 22:41    [W:0.030 / U:0.624 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site