[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGG-pUSHj5uumz01mReeD+gpg--fkZCS18gMbW2FBjmufjcEDg@mail.gmail.com>
Date: Mon, 21 Oct 2013 08:47:01 -0200
From: Geyslan Gregório Bem <geyslan@...il.com>
To: Eric Van Hensbergen <ericvh@...il.com>
Cc: rminnich@...dia.gov, Latchesar Ionkov <lucho@...kov.net>,
V9FS Developers <v9fs-developer@...ts.sourceforge.net>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] 9p: fix return value in case of error in v9fs_fid_xattr_set
At first, thanks for reply.
2013/10/20 Eric Van Hensbergen <ericvh@...il.com>:
> On Sat, Sep 28, 2013 at 6:32 PM, Geyslan G. Bem <geyslan@...il.com> wrote:
>>
>> 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.
>>
>> Signed-off-by: Geyslan G. Bem <geyslan@...il.com>
>> ---
>> fs/9p/xattr.c | 9 ++++-----
>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/fs/9p/xattr.c b/fs/9p/xattr.c
>> index 3c28cdf..0788388 100644
>> --- a/fs/9p/xattr.c
>> +++ b/fs/9p/xattr.c
>> @@ -149,11 +149,10 @@ int v9fs_fid_xattr_set(struct p9_fid *fid, const
>> char *name,
>> write_count = value_len;
>> write_count = p9_client_write(fid, ((char *)value)+offset,
>> NULL, offset, write_count);
>> - if (write_count < 0) {
>> - /* error in xattr write */
>> - retval = write_count;
>> - break;
>> - }
>> + /* error in xattr write */
>> + if (write_count < 0)
>> + return write_count;
>> +
>>
>
>
> So, I'm convinced that there's a problem here, but I think the solution in
> the patch is incomplete. Simply returning wouldn't clunk the fid. I think
> the right approach is likely to keep the break, clunk and return an error if
> either the p9_client_write or the p9_client_clunk fails.
>
> I suppose you could make a claim that v9fs_fid_xattr_set shouldn't be
> clunking the fid -- but considering it's cloned the fid in its function
> body, it does seem like it shoudl also be cleaning up after itself.
>
Right. I'll centralize the exiting assuring that fid will be clunked
in case of fails.
> -eric
>
>
> -eric
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists