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

From: Trond Myklebust
Date: Mon Feb 17 2014 - 11:47:05 EST



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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/