Subject: [nfsv4] more re: NFS4ERR_STALECLIENTID

From: [email-masked]
Date: Mon, 5 Apr 2004 16:26:39 -0400 (EDT)

> You can distinguish STALECLIENTID without saving clientid's forever.
> If you put the server instance (or reboot time) in one half of the
> client id then you can determine if the server has rebooted, simply by
> comparing that field.

Yep, and that's what my server does.
I was concerned that I might have to distinguish between:
- server throws away state along with clientid for this instance
vs
- server throws away clientid with no state for this instance

If you look at the error definitions for NFS4ERR_STALE_CLIENTID,
NFS4ERR_STALE_STATEID and NFS4ERR_EXPIRED in Sec. 12, they almost hint
that NFS4ERR_STALECLIENTID wasn't for a previous server instance only.
(I'm just relieved that using a boottime field in the clientid to
 distinguish NFS4ERR_STALE_CLIENTID is ok.)

> One exception is DELEGPURGE.  It shows STALECLIENTID but not EXPIRED so
> it isn't clear what you would do if you get a clientid you don't
> recognize and it doesn't look stale.  INVAL would be the obvious answer
> but that isn't on the error list either :-(

I just return NFS_OK for this one. My logic was that, if the clientid
isn't recognized, then the Delegations for it must have been purged
successfully already. (I see Delegpurge as the client letting the
server know it's ok to get rid of old delegations now, so if there
aren't any, it seems aok to me?)

Have fun and see you in Ann Arbor? rick

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