[OpenAFS-devel] unix afsd organization

Jeffrey Hutzelman jhutz@cmu.edu
Wed, 17 Jun 2009 16:14:38 -0400


--On Wednesday, June 17, 2009 02:33:47 PM -0500 Andrew Deason 
<adeason@sinenomine.net> wrote:

> RT 124947 [1] has a patch for splitting up afsd into a kind of backend
> and frontend of sorts. The "backend" is all of the logic of command-line
> parsing, and issuing afs syscalls, and a few other things. The
> "frontend", of which now there's only one but there could be many,
> consists of code that's very specific to using the afs kernel module
> client: how syscalls are made, mounting /afs, etc. This division allows
> for easily swapping out the code for kernel module with, say, the
> userspace kernel code.

I'm not sure why you would ever want to run afsd other than to set up the 
AFS kernel module.

I think maybe what you're looking for is to take the complex bits of logic 
that should be shared, like cache setup, and move them out into a library 
that can be called by the userspace cache manager.