Subject: RE: delegation question

From: "Noveck, Dave" <[email-masked]>
Date: Fri, 9 Aug 2002 10:58:08 -0700

It seems to me that this is a worthwhile thing to do.  

How about adding to the implementation section of RENEW:

    If there are outstanding delegation recalls, a server
    may return NFS4ERR_RESOURCE to indicate the potential
    for delegation revocation to the client.  The client,
    in this case, should return his delegations, to forstall
    delegation revocation when, for some reason, there are
    problems receiving callbacks.  The server MAY still 
    renew the lease, even when returning NFS4ERR_RESOURCE.
 
By the way, there are errors for RENEW that don't seem right.
Since RENEW does not require a filehandle, NFS4ERR_MOVED and
NFS4ERR_WRONGSEC, don't seem as if they should be there.  Also, 
I have doubts about NFS4ERR_GRACE.  If I reclaimed a lock during 
the grace period, I have a lease, so why shouldn't I be allowed 
to renew it early, since it is desirable for me to make sure that 
it gets done in good time.

-----Original Message-----
From: Jim Rees [mailto:[email-masked]]
Sent: Friday, August 09, 2002 1:12 PM
To: [email-masked]
Subject: Re: delegation question 

My initial reaction is that if the server can't contact the client via the
callback path, it should stop allowing lease renewals.  The reasoning here
is that the network has gone down in some sense.

But the spec currently does not allow this.  The network could develop some
strange pathological disease that blocks everything except RENEW, and the
server would still be required to renew.  Maybe we should change this.

The good news is that the client will detect the problem when it tries to
close the file, so at least it knows there is a problem.

---

From: Spencer Shepler <[email-masked]>
Date: Fri, 9 Aug 2002 14:02:08 -0500

I would suggest that we might pause and think about this issue before
making a last minute change.  My comments are inline.

> It seems to me that this is a worthwhile thing to do.  

Maybe but I think the a solution may be move invasive.

>     renew the lease, even when returning NFS4ERR_RESOURCE.

What about those clients that don't send RENEW because their lease is
being renewed because of other activity that does not deal with the
delegated file in question.  It seems like a solution would need to
define a new error NFS4ERR_DELEGATION_REVOKED and that error would
then be valid for RENEW and every operation that uses a piece of state
(clientid, stateid).  The client would then have to be able to return
the delegations as you suggest and then restart the operation in
question.  Not sure I am for this type of change at this point.

> NFS4ERR_WRONGSEC, don't seem as if they should be there.  Also, 

NFS4ERR_MOVED is there if the fileserver has migrated a filesystem
that the client has state on and the client has yet to be notified of
the migration (this notification is very similar to the discussion above.

I have already remove WRONGSEC from the error list (in the version to
come).

> it gets done in good time.

Yes. This doesn't seem appropriate.

Spencer