On Feb 17, 2014, at 2:08, shaobingqing <shaobingqing@xxxxxxxxxxxxx> wrote: > If initiate_file_draining returned NFS4ERR_DELAY, all the lsegs of > a file might be released before the retrying cb_layout request arriving > at the client. In this situation,the list lo->plh_segs is empty, > layoutget request of the file will use open stateid to obtain a new > layout stateid. And if the retrying cb_layout request arrived at the > client after the layoutget reply, new layout stateid would be overwrite > by one out of date. I have very serious doubts about adding layout state to represent what the server is _trying_ to do. What if the server decides not to retry the recall? What if it reboots? Let’s start with looking at the motivations: Have you ever run into the above problem in practice? If so, what was the effect on overall performance? _________________________________ Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@xxxxxxxxxxxxxxx -- 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