Subject: [nfsv4] NFS4ERR_EXPIRED or NFS4ERR_STALECLIENTID?

From: [email-masked]
Date: Sat, 3 Apr 2004 19:21:56 -0500 (EST)

Steve's recent query (and Spencer's response) both mentioned
NFS4ERR_STALECLIENTID as the error returned if the server has
discarded a clientid with no associated state after its lease expired.

For some reason, I had assumed NFS4ERR_EXPIRED would be the correct
response for this case and had reserved NFS4ERR_STALECLIENTID for
the case where the server had rebooted since issuing the ClientId.

As such, I just looked at Sec. 8.1.2 and see it states "the appropriate error",
which didn't help much at clarifying it. So which error should it be?

And which error is the correct response if the server discarded state
along with the clientid after a lease expiration?

If the server must distinguish between "discarded clientid which had no
associated state" and "discarded clientid which had associated state",
it seems to imply to me that the server
must hang onto a clientid after discarding state related to it, so it
knows to return NFS4ERR_EXPIRED and not NFS4ERR_STALECLIENTID. The
problem them becomes "how long does the server have to hang onto this
clientid?". Until the client does another SetClientid, which could be forever?)

Thanks yet again for your help, rick

_______________________________________________
nfsv4 mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nfsv4

---

From: Spencer Shepler <[email-masked]>
Date: Sat, 3 Apr 2004 18:43:13 -0600

> Thanks yet again for your help, rick

You are right, Rick.  For some reason I seem to make this mistake
more often than not.  NFS4ERR_EXPIRED is the correct error in both
cases: discarded clientid without state and discarded clientid with 
state.
NFS4ERR_STALE_CLIENTID is only returned when the server
has restarted.

Sorry for the mistake and confusion.

Spencer