[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug #24140] Painfully slow find(1) in list-permission-only AFS path

From: Daniel Richard G.
Subject: Re: [bug #24140] Painfully slow find(1) in list-permission-only AFS paths
Date: Mon, 1 Sep 2008 23:04:17 -0400

Hi Jeffrey,

On Mon, 2008 Sep 01 20:25:11 -0400, Jeffrey Hutzelman wrote:
> --On Monday, September 01, 2008 11:12:31 PM +0000 "Daniel Richard G."
> <address@hidden> wrote:
> >If we use libafs, we may as well go all the way and have find(1) check 
> >the permissions on each directory (if in AFS) and cue off of that.
> libafs is not the library you are looking for.
[remainder of AFS mind-trick elided]

I haven't worked with AFS programmatically before, so that was said only in 
the most abstract sense. My thought was basically to trace through what "fs 
la" does, and implement a similar codepath for find(1).

> If it's available, you're better off using libkrbafs or libkafs, which 
> provide a more minimal interface consisting of k_hasafs() and k_pioctl(), 
> plus a few things you don't need.

I'd be happy to avoid dealing with the OpenAFS bare-metal API. Searching 
for those names gives ambiguous results as to what the libraries are, and 
where their latest incarnations may be found, however; would you know 
offhand where one should go to obtain them?

> Note that you cannot assume that AFS exists and AFS system calls will work 
> just because you found AFS libraries.  Some of the libraries mentioned 
> above are included in a number of Linux distributions and may be included 
> in other systems as well, and even if AFS is installed, the AFS kernel 
> module may not yet be loaded.  On some platforms, you will get SIGSYS if 
> you try to make an AFS system call under these circumstances.  The 
> libkrbafs/libkafs interfaces will protect you from this; k_hasafs() is 
> always safe to call, and if it succeeds, then you know you can call 
> k_pioctl() safely.

Sounds like a win-win approach to me. James, would making use of one of 
these libraries (contingent on a compile-time switch) be an acceptable way 
to go?


NAME   = Daniel Richard G.       ##  Remember, skunks       _\|/_  meef?
EMAIL1 = address@hidden        ##  don't smell bad---    (/o|o\) /
EMAIL2 = address@hidden      ##  it's the people who   < (^),>
WWW    = http://www.******.org/  ##  annoy them that do!    /   \
(****** = site not yet online)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]