[AFS3-std] Re: [OpenAFS-devel] convergence of RxOSD, Extended Call Backs, Byte Range Locking, etc.

Jeffrey Hutzelman jhutz@cmu.edu
Thu, 23 Jul 2009 19:22:56 -0400


--On Thursday, July 23, 2009 06:43:35 PM -0400 "Matt W. Benjamin" 
<matt@linuxbox.com> wrote:

> 7. Letting clients and servers negotiate a set of appropriate semantics
> for operating on a given object, within some given parameters meaningful
> to the server implementation and storage configuration--this provides a
> framework for moving around the weak..strong space adaptively, allowing
> support for a wider range of applications than any fixed semantics could
> provide

I see no problem with you being able to negotiate different semantics for 
yourself.  However, unless you are somehow privileged, you must not be able 
to negotiate different semantics for _me_.  We can argue at some point 
about exactly what that means, but at a minimum, I think it means things 
like...

- You must not be able to force mandatory locking on me, unless you are
  privileged in some way (for example, by being allowed to set some access
  right or other property of the file).

- You must not be able to decide that, when you write a file, a callback
  to me is broken asynchronously, such that another RPC made on that file
  by me or by a client with whom I am cooperating begins before I have
  been notified that you changed the file.

Further, there must be some common set of semantics where are guaranteed to 
be implemented by every fileserver and every client.

Further still, there are some things which are basic properties of the 
protocol and are not open to negotiation.  I believe the one-to-one 
relation between (FID,DV) and bit strings is one of these, as is the 
one-to-one relation between FIDs and files.

-- Jeff