[OpenAFS-devel] convergence of RxOSD, Extended Call Backs, Byte
Range Locking, etc.
Jeffrey Hutzelman
jhutz@cmu.edu
Wed, 22 Jul 2009 14:06:33 -0400
--On Wednesday, July 22, 2009 01:26:39 PM -0400 Tom Keiser
<tkeiser@sinenomine.net> wrote:
> a) convergence of RxOSD with other protocol changes (XCB, byte-range
> locking, perhaps others)
> b) changes to cache coherence, especially DV semantics
> c) tackling the thorny issue of distributed transactions
> d) future-proofing (distributed RAID-n, journalling, rw repl, etc.)
> e) protocol design issues (RXAFS_GetOSDlocation, the means by which
> location data is XDR encoded, etc.)
These all sound like things that belong on afs3-standardization.
> f) reference implementation code issues (DAFS integration, MP-fastness
> of metadata server extensions, etc.)
At the moment, we are forced to treat OpenAFS as a de facto reference
implementation for most existing protocol features, because there is so
little in the way of existing specifications. This is largely because for
a long time, IBM treated AFS as a closed system with only one
implementation, didn't bother to maintain protocol specifications, and paid
relatively little attention to interoperability, even with older versions
of AFS. This is really a terrible way to maintain even a closed software
product, and an even worse way to maintain an open protocol specification.
I would very much like to see documentation of the existing protocol suite
and formal adoption of an authoritative protocol specification, and I
suspect many others agree with me. I also don't see it happening anytime
soon, because few people have many cycles to spend on AFS, and those that
do are spending them primarily on forward-looking development rather than
on mundane things like writing missing protocol specifications.
However, for new features, there is no reference implementation. The only
authoritative source for how a new protocol works is its specification. No
implementation can claim that if it disagrees with the spec, it's the spec
that's got it wrong.
In any case, I assume you're referring to OpenAFS, and it is true that
OpenAFS implementation details are best discussed here.