Re: [PATCH v3] NFSv4.1: new layout stateid can not be overwrite by one out of date

Trond Myklebust
2014-02-17T16:46:58Z

On Feb 17, 2014, at 2:08, shaobingqing <shaobingqing@bwstor.com.cn> 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@primarydata.com