Re: Question about LAYOUTRETURN stateid

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

 



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

>
> 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