Re: Question about LAYOUTRETURN stateid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 12, 2010 at 11:38 AM, Fred Isaman <iisaman@xxxxxxxxxx> wrote:
> On Tue, Oct 12, 2010 at 11:29 AM, William A. (Andy) Adamson
> <androsadamson@xxxxxxxxx> wrote:
>> I'll send one
>>
>> -->Andy
>
> Another issue in the same code that could be fixed at the same time:
> the set/invalidate stateid decision should not be under the type==FILE
> check, but should always be done.
>
> Fred

OK - I'll look that over.

-->Andy

>
>>
>> On Tue, Oct 12, 2010 at 10:40 AM, Benny Halevy <bhalevy@xxxxxxxxxxx> wrote:
>>> On 2010-10-12 09:11, Fred Isaman wrote:
>>>> On Tue, Oct 12, 2010 at 7:09 AM, P.B.Shelley <shelleypt@xxxxxxxxx> wrote:
>>>>> Hi, all
>>>>>
>>>>> While reading Linux pnfs code, I have a question in layoutreturn code path.
>>>>>
>>>>> nfs4_layoutreturn_release() only invalidate layout stateid when
>>>>> res.lrs_present is FALSE. If it is TRUE, client is supposed to set it
>>>>> to res.stateid, is it? But I do not see somewhere the layout stateid
>>>>> is updated. Am I missing something?
>>>>>
>>>>
>>>> No, you are not missing anything.  that is a bug.
>>>>
>>>
>>> Agreed.
>>> Who's volunteering to send a fix? :)
>>>
>>> Benny
>>>
>>>> Fred
>>>>
>>>>> 5683 static void nfs4_layoutreturn_release(void *calldata)
>>>>> 5684 {
>>>>> 5685         struct nfs4_layoutreturn *lrp = calldata;
>>>>> 5686         struct pnfs_layout_hdr *lo = NFS_I(lrp->args.inode)->layout;
>>>>> 5687
>>>>> 5688         dprintk("--> %s return_type %d lo %p\n", __func__,
>>>>> 5689                 lrp->args.return_type, lo);
>>>>> 5690
>>>>> 5691         if (lrp->args.return_type == RETURN_FILE) {
>>>>> 5692                 if (!lrp->res.lrs_present)
>>>>> 5693                         pnfs_invalidate_layout_stateid(lo);
>>>>> 5694                 pnfs_layoutreturn_release(lo, &lrp->args.range);
>>>>> 5695         }
>>>>> 5696         kfree(calldata);
>>>>> 5697         dprintk("<-- %s\n", __func__);
>>>>> 5698 }
>>>>>
>>>>> --
>>>>> Thanks,
>>>>> Shelley
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux