[OpenAFS-devel] Re: writing AFS-aware WebDav server; questions about lib[j]afs

Tom Keiser tkeiser@gmail.com
Sun, 12 Feb 2006 21:29:39 -0500


On 2/12/06, Adam Megacz <megacz@cs.berkeley.edu> wrote:
>
> Russ Allbery <rra@stanford.edu> writes:
> > A PAG is nothing more or less than a group membership, from the
> > perspective of a user process.  If threads can be in different groups,
> > yes; otherwise, no.
>
> Ah, that's too bad.  On Linux you can have different threads with
> different UIDs/GIDs in a single process, but this is considered a bug
> and is slated to go away (apprently pthreads doesn't do this).
>
> Worst case I guess I'll just serialize all AFS operations through a
> single thread that gets/drops tokens for each request.  Performance
> will be pretty bad, but it should meet our short-term needs.
>
> I got an out-of-band email with a rumor about a
> possibly-soon-to-be-open-source library that lets you specify tokens
> on a per-call basis... we'll see if that pans out.
>

Have you looked at libjuafs?  With libjuafs you could use
afs_setpag_val() to bind cached creds to your worker threads as
needed.  JUAFS may need a little maintenance; I don't believe it has
been touched since IBM contributed it a couple years ago.  For
something like a multithreaded webdav server, the userspace cm could
work well.

Regards,

--
Tom Keiser
tkeiser@gmail.com