[OpenAFS] oAFS & Arla

Jeffrey Hutzelman jhutz@cmu.edu
Mon, 19 Jul 2004 12:13:23 -0400

On Friday, July 16, 2004 15:19:34 -0700 Mike Fedyk <mfedyk@matchmail.com> 

>> - Arla has a cool adaptive mechanism that decides which replica to use.
> Like the replica with the fastest response, or lowest hop count or what?

Actually, it's much cooler than that.  Arla keeps track of the apparent 
performance of each server it talks to (which can be a function of actual 
fileserver capabilities, network speed, distance, load, etc), and 
dynamically adjusts what fraction of its requests are sent to each server 

>> - The OpenAFS client is completly written in the kernel, which is not
>> only scary but also hard to port to new plattforms, it also limits the
>>  ammount of coll features you want to implement.
> Ahh, no wonder the Linux Kernel people don't like OpenAFS much...

Eh.  It actually seems to be the case that their problem is threefold:
- They don't use AFS.
- They continue to see it as some evil commercial binary-only thing.
- They can't stand anything that doesn't conform to their latest
  architectural ideals.

It's worth noting that the NFS client _and server_ live almost entirely in 
the kernel, and they don't behave as if they hate that.

And NFSv4 is going to be very similar, and they don't claim to hate that.

> So the LK guys removed the export of syscall_table, what mechanism did
> they replace it with?

None whatsoever.

> I saw something about a hook for NFS.  Is it not generic enough?

No.  The technique used for sys_nfsservctl would work for our system call 
as well, but it requires a compiled-in function which is the actual target 
of the syscall and hands off control to the module iff it is loaded.  We've 
asked for such a hook to be added for afs_syscall, and it hasn't happened 

And, it won't help us with PAG management.

> If the licenses aren't mixable in a single file, maybe they're link
> mixable.  BSD in one file, IPL in another...

> BTW, where did the AFS code in vanilla kernel.org 2.6 come from?

It came from a developer at RedHat.  It is worth noting that that code is 
currently very incomplete, and while it uses the same messages on the wire 
that AFS does, it does not fully implement the semantics of the AFS 
protocols.  Whether this will ever change is not something I'd care to 
guess at.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA