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

Matt W. Benjamin matt@linuxbox.com
Thu, 30 Jul 2009 09:33:29 -0400 (EDT)


Hi Jeff,

----- "Jeffrey Hutzelman" <jhutz@cmu.edu> wrote:

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

> 
> 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).

Similar policy problem, yes.

> 
> - 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.

I get that.  See action items.

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

Yes.  As a number of folks have mentioned, it would be valuable to formalize those semantics as applied to files (the "file semantics of AFS3") better than we have, up to now.  I think that's a much smaller problem than "formalize the entire AFS protocol."

> 
> 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.

I should mention that Tom a couple of times has mentioned the idea of generalizing FID.  In one conversation (summarized with permission), also, Tom and I worked on a concept we called 'range DV', aimed at allowing disjoint ranges of a logically contiguous bytestream to be coordinated by different fileservers.  Taken together, those concepts might add up to a FID with a vector of (Range,DV)s, or something similar.

> 
> -- Jeff

-- 

Matt Benjamin

The Linux Box
206 South Fifth Ave. Suite 150
Ann Arbor, MI  48104

http://linuxbox.com

tel. 734-761-4689
fax. 734-769-8938
cel. 734-216-5309