On 06/11/2012 06:08 PM, Adamson, Andy wrote: >> You need to wait for in-flight I/Os to either succeed, fail (e.g. time out), >> or be aborted. The non-successful cases are going to be reported by the >> objects layout driver so the MDS can recover from these errors. > > The object layout driver may have this requirement, but the file > layout driver does not. I do not see the different texts In that matter. All I see is that for objects all the core-pnfs wording applies + the error reporting as part of LAYOUTRETURN. Specifically I do not see any exemption of files layout about using layouts (segments) after a LAYOUTRETURN was sent. And I do not agree with Benny in regard of fencing off. Objects has, and is specifically specified, a very robust mechanism of "fencing off" just as files has. And I do not see anywhere, where it is permitted to the client to send new RPCs using the same (old) layout_segment after it was returned. Which what your patch does, because there is a race between pnfs_layout_return() and paglist_read/write. What is so wrong with waiting for layout_segment reference to drop to zero? You still did not explain. What are you trying to solve by sending a LAYOUTRETURN, before layout_segment is all released? Please explain? Thanks Boaz -- 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