2010-10-14 11:48:31

by DENIEL Philippe

[permalink] [raw]
Subject: Effect of NFS4ERR_DELAY on the client

Hi,

I have a question about NFS4ERR_DELAY. What is the behavior of the
client when such an error is returned. Does it retry ? If yes, how many
times and with what kind of interval between each retry ?
Is the behavior similar to what the NFSv3 client when receiving
NFS3ERR_JUKEBOX ?
My purpose is to run NFSv4.x on top of a namespace whose entries can be
migrated : opening a file may require staging it (in this case
NFS4ERR_DELAY and NFS3ERR_JUKEBOX will be returned)

Philippe


2010-10-14 14:11:43

by J. Bruce Fields

[permalink] [raw]
Subject: Re: Effect of NFS4ERR_DELAY on the client

On Thu, Oct 14, 2010 at 01:48:29PM +0200, DENIEL Philippe wrote:
> Hi,
>
> I have a question about NFS4ERR_DELAY. What is the behavior of the
> client when such an error is returned. Does it retry ? If yes, how
> many times and with what kind of interval between each retry ?
> Is the behavior similar to what the NFSv3 client when receiving
> NFS3ERR_JUKEBOX ?
> My purpose is to run NFSv4.x on top of a namespace whose entries can
> be migrated : opening a file may require staging it (in this case
> NFS4ERR_DELAY and NFS3ERR_JUKEBOX will be returned)

For the linux client, see fs/nfs/nfs4proc.c:nfs4_delay() and
nfs4_handle_exception(): looks like it starts with NFS4_POLL_RETRY_MIN
== .1 second, and doubles it each time up to NFS4_POLL_RETRY_MAX == 15
seconds.

--b.