[OpenAFS-devel] 2004-06-15 snap on FC2: no good still (sys_call_table,
Error -1 in basic initialization)
Jeffrey Hutzelman
jhutz@cmu.edu
Tue, 15 Jun 2004 21:48:36 -0400 (EDT)
On Tue, 15 Jun 2004, Matthew Miller wrote:
> > - Run strace on afsd, at least through the point where it prints the
> > "error in basic initialization".
>
> Okay. The whole thing is about 9MB; I've put it at
> <http://jadzia.bu.edu/~mattdm/tmp/afs/afsd.strace>.
Well, this is a little bizarre:
open("/proc/fs/openafs/afs_ioctl", O_RDWR) = 3
ioctl(3, CAPI_REGISTER or SNDCTL_COPR_LOAD, 0xfee4a4d0) = -1 EINVAL
(Invalid argument)
close(3) = 0
I'd expect to get EINVAL from that ioctl if the function argument was
wrong, but CAPI_REGISTER should be the correct value. Run it again
with 'stage -e raw=ioctl', so it prints the numeric value of the function
argument. The correct value for i386_linux* is 0x40044301.
I can't think of other things that are easy to check, but if you can
rebuild the kernel module it should be easy to instrument this. Just
add a printk to src/afs/LINUX/osi_module.c:afs_ioctl() which prints
the values of cmd (preferably before the first if), and all the members
of sysargs (after the call to copy_from_user(), but before handing control
to afs_syscall()).
That way we'll be able to see what arguments the kernel thinks are being
passed to the syscall, if indeed afs_ioctl() is getting control at all.
-- Jeff