Subject: RE: [nfsv4] Lease Renewal (Section 8.5)

From: "Noveck, Dave" <[email-masked]>
Date: Thu, 7 Aug 2003 10:40:33 -0700

I can't think of a good reason.

I suspect the reason is that we started out with the
idea that operations with a valid stateid were the ones
that did renewals, then noticed that OPEN did not have
a stateid and added specific text for that, but never 
really rethought the text, to include others that took
a clientid.

Note that the text includes in its list of operations that
do cause renewal when made with a valid stateid, some that 
don't take a stateid at all.  Some (or all?) of this is because
of operations that once took a stateid, but were changed to 
use a clientid.

>   o  Any operation made with a valid stateid (CLOSE, DELEGPURGE,
>      DELEGRETURN, LOCK, LOCKU, OPEN, OPEN_CONFIRM, OPEN_DOWNGRADE,
>      READ, RENEW, SETATTR, WRITE).  This does not include the special
>      stateids of all bits 0 or all bits 1.

Of the above list, DELEGPURGE and RENEW! do not have stateid's.
A pedantic reading of the spec would hold that RENEW should not
cause renewal since it can never be done with a "valid stateid" :-).
I think most people would accept a valid clientid as a reasonable
substitute.

As far as LOCKT and RELEASE_LOCKOWNER, it is harder to argue
that we should bend the spec's words further to let them cause
renewal.

Another interesting case is OPEN, which takes a clientid and,
in some cases (delegation) a stateid as well.  I think the spec
says that if you have either a valid clientid and an invalid 
stateid, or vice versa, the lease should be renewed.  I'm 
pretty sure our server does not do that. Something to put at
the very end of a priority-ordered bug list :-)

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]]
Sent: Thursday, August 07, 2003 11:39 AM
To: [email-masked]
Subject: [nfsv4] Lease Renewal (Section 8.5)

Oh no, not me again...

I was just wondering if there was a reason that LOCKT and RELEASELOCKOWNER
with a valid clientid were omitted from the list that renews a lease.
(I've just changed the code so these cases don't do a lease renewal,
 but it is trivial to change back, if a lease renewal makes sense?)

Thanks again, rick

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

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