[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [nfsv4] Read delegations and LOCK operation



Title: Message
It sounds to me like that is an oversight in the spec.  Am I (and Sandeep) missing anything here?
 
I'm not sure exactly what can be fixed at this stage without triggering a re-entry into review, to be avoided.  I would expect that changing that paragraph to make it explicit that mandatory read locks are OK, would be allowed.  I'd like Mike's and Spencer's opinion.
 
I think the argument to be made is that when you have read delegations, you have already prevented writes and in that case a mandatory READ lock is a no-op in that it doesn't prevent any IO's that would not be prevented otherwise.  That is, it only would prevent writes and writes are already prevented by the fact that you have a read delegation.  Any writes or opens for write would already recall the delegations.  So I think you could argue that in that case, for such locks, the server is not implementing "mandatory lock semantics" because in the case of such locks you can't get to any situation in which the mandatory lock semantics' behavior is different from that of the non-mandatory semantics.  In that somewhat strange context, a change in the text would only have to make explicit what is already implicit, but might well confuse people into recalling delegations when they don't need to be recalled.
 
So my proposed text is:
 
   When one or more clients hold read delegations, any LOCK request
   where the server is implementing mandatory locking semantics, MUST
   result in the recall of all such delegations.  In this context, a 
   read lock is not considered to be implementing mandatory lock semantics
   since the only operations that such locks prevents are WRITE's and 
   no such WRITE's can be done so long as the read delegations are 
   held.  Where mandatory lock semantics are being implemented for a
   WRITE lock, the lock must
   not be granted until all such delegations are return or revoked.
   Except where this happens very quickly, one or more NFS4ERR_DELAY
   errors will be returned to requests made while the delegation remains
   outstanding.
Opinions?
-----Original Message-----
From: Sandeep Joshi [mailto:sjoshi at bluearc.com]
Sent: Thursday, October 15, 2009 1:38 PM
To: nfsv4 at ietf.org
Subject: [nfsv4] Read delegations and LOCK operation

From V4.1 protocol specification section 18.10.4. :
 
"When one or more clients hold read delegations, any LOCK request 
  where the server is implementing mandatory locking semantics, MUST
  result in the recall of all such delegations."
 
 
I have following question for above statement.
 
Why is the recall of read delegations necessary if the LOCK requested is a READ 
lock?
 
 
regards,
 
Sandeep