On Friday, March 17, 2006 04:08:08 PM -0800 Russ Allbery <[EMAIL PROTECTED]>
wrote:
Moving this to openafs-devel. Decision needed for the 1.4.1 release
below.
Jeffrey Hutzelman <[EMAIL PROTECTED]> writes:
Russ Allbery <[EMAIL PROTECTED]> wrote:
Jeffrey Hutzelman <[EMAIL PROTECTED]> writes:
Russ Allbery <[EMAIL PROTECTED]> wrote:
Certainly such a library would be useful. If someone wants to
implement it without all of the dependencies that Heimdal libkafs
has, I'd be all in favor of it. Heimdal's libkafs has significant
dependencies and isn't really suitable for use outside of a system
built with Heimdal in general.
That's true for the full libkafs, but not for the functions I
mentioned.
Ah, hm, I see what you're saying. So basically, the API provided would
be only the k_* functions, namely:
k_hasafs
k_pioctl
k_unlog
k_setpag
k_afs_cell_of_file
the two AFSCALL defines, the VIOC* defines, and struct ViceIoctl?
Actually, I'm not sure why k_afs_cell_of_file is interesting; I thought
that was just a pioctl. But it could be thrown in for good measure.
I took an extended look at how to implement this today. My feeling is:
k_setpag and k_pioctl are fairly easy to deal with. k_unlog is, I think,
ktc_ForgetAllTickets, but I don't entirely understand the implementation.
k_unlog is VIOCUNLOG.
k_hasafs *might* be basically CHECK_KERNEL from auth/ktc.c, but I
don't know the code well enough.
k_hasafs is both a test and an initialization routine. Users of the
library are expected to call this before anything else, and not to use any
of the other interfaces if it returns false. It needs to actually return
accurate results, though, so a VIOCNOP or the like seems appropriate.
I don't know how to do
k_afs_cell_of_file off-hand, but expect I could figure it out (from the fs
code, if nothing else).
k_afs_cell_of_file is VIOC_FILE_CELL_NAME
I was trying for something minimally intrusive, which was ruling out
changing the name of the function (since otherwise I couldn't just
reuse the same code).
echo 'int setpag(void) { return lsetpag(); }' | gcc -x c -c - -o setpag.o
:-)
(what's sad is that on my amd64_linux26 machine, that produces a
1344-byte file, of which 16 bytes are actually code. Talk about bloat!
Okay, now we need to figure out what we're going to do for 1.4.1, since
currently the libafssetpag code is on the release branch. I was really
hoping to come back to this conversation before the last minute, but it's
been a really busy year so far. :/
At this point, we should not be making any changes to 1.4.1 that are not
critical bug fixes.
-- Jeff
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel