[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