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