[OpenAFS] Re: OpenAFS for x86 solaris 8

Marcus Watts mdw@umich.edu
Mon, 01 Jul 2002 02:39:03 -0400


Alan Meadows <alan@sunwave.com> writes:
...
> # modload /kernel/fs/afs
>  > can't load module: No such file or directory
> 
> # file /kernel/fs/afs
>  > /kernel/fs/afs: ELF 32-bit LSB relocatable 80386 Version 1

"No such file or directory" here just means ENOENT.  It doesn't
mean the module is missing.  ENOENT is just a number; there are
things in the kernel that can generate this error that have
nothing to do with files.

One thing that *might* cause this is a missing entry for
the afs system call in /etc/name_to_sysnum:
see if this line exists there:
afs                 65
(I don't know, you might have to reboot after changing this file??)

Another thing that will cause a module not to load is
missing symbols in the kernel.  I think solaris is better
about reporting the symbols in that case though.

If worst comes to worse, it's possible (in theory) to get solaris 8
source code "for study purposes only", after making the appropriate
blood sacrifice to the gods at Sun.  If you had that, you could do a
	"find . -type f -print | xargs egrep ENOENT"
and look for all the things that could cause ENOENT to be
returned for a kernel load module.  This will be quite tedious
though, even just to sort out the code path involved.

> If no one has any ideas on how to correct the module problem, is it 
> possible to run the OpenAFS server on Solaris 8 without loading the OpenAFS 
> kernel module?  I have no need to run the client on Solaris.  I have heard 
> that the module was only for the client but it wouldn't surprise me if I 
> didn't have a clue as to what I'm talking about.

"The" server?  There are several, and it depends.  kaserver, ptserver,
& vlserver should (in theory) run without a cache manager.  The
fileserver, on the other hand, won't run.  Client tools, such as "bos"
and "pts", may run but won't be very useful.  There are 2 services here that
the cache manager is providing on a server:
	bos, pts, etc: use the cache manager to store tickets.
		no cache manager means only unauth access.
	fileserver: uses iopen,iclose to get direct access to inodes.

If you can (and you should be able to do this in a serious production
cell), you probably don't want to run afsd and mount /afs on an AFS file
server.  There are certain sorts of circular dependencies you really
want to avoid, like what if all your database servers refuse to finish
booting until they can mount /afs from your local cell?

It is possible to run a sort of "runt" cache manager on your
servers -- something that has iopen, tokens, but doesn't have
the rest of the cache manager.  I don't think anyone has packaged
up just this part of the code in the long time.

				-Marcus Watts
				UM ITCS Umich Systems Group