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