> -----Original Message----- > From: Jim Rees [mailto:rees@xxxxxxxxx] > Sent: Tuesday, July 26, 2011 12:08 PM > To: Myklebust, Trond > Cc: Peng Tao; tao.peng@xxxxxxx; linux-nfs@xxxxxxxxxxxxxxx; > bhalevy@xxxxxxxxxx > Subject: Re: [PATCH] NFS41: Drop lseg ref before fallthru to MDS > > Myklebust, Trond wrote: > > > Thanks for your explanation. Is there any plan on how to fix > > pnfs_ld_read/write_done? Basically, we would need an interface that > > can redirect the IO to MDS if pnfs_error is set or do all necessary > > cleanup work to end read/write if pnfs_error is 0. IMHO, the > > recoalesce logic need to access nfs_pageio_descriptor but we do not > > have that information at pnfs_ld_read/write_done. > > As far as I can see, the right thing to do is to mark the layout as > invalid and then redirty the page. It should be easy to have fsync() > re-send the pages in this case. These should be extremely rare > events, > since we expect to catch most of the pNFS failures when we do the > actual > LAYOUTGET in the ->pg_init(). > > My main worry is for aio/dio where there is no good mechanism for > retrying. I'm still working on that... > > What do you suggest we do for the current set of patches that add block > layout to pnfs? If you are calling pnfs_ld_read/write_done, then don't change anything: it is easier to fix this in one spot rather than several. However someone needs to start working on fixing the code in pnfs_ld_read/write_done to do the right thing. If nobody else has the cycles, then I can do that but I'd prefer to have someone who can easily test the resulting code do it. Cheers Trond -- 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