[OpenAFS-devel] openafs hangs on shutdown with selinux (caused by callback expiration via umount?)

Christopher Allen Wing wingc@umich.edu
Thu, 3 Jan 2008 08:50:16 -0500 (EST)


Russ:


On Wed, 2 Jan 2008, Russ Allbery wrote:

> The Debian init script first calls afsd -shutdown and then calls umount.
> I see that the Red Hat init script in the packaging directory doesn't do
> this.  I wonder if it would help.

'afsd -shutdown' seems to do nothing, because the first thing that the 
kernel module does is check whether /afs is mounted:


 	src/afs/afs_call.c :: afs_syscall_call()
 	...
 	...
 	    else if (parm == AFSOP_SHUTDOWN) {
 	...
 	...
 	        if (afs_globalVFS != 0) {
 		    afs_warn("AFS isn't unmounted yet! Call aborted\n");
 		    code = EACCES;
 		} else
 		    afs_shutdown();



The man page for afsd also states:

 	CAUTIONS
 	       Do not use the -shutdown parameter. It does not shutdown the Cache
 	       Manager effectively. Instead, halt Cache Manager activity by using the
 	       standard UNIX umount command to unmount the AFS root directory (by
 	       convention, /afs). The machine must then be rebooted to reinitialize
 	       the Cache Manager.



but it appears that -shutdown has no effect anyway; you have to umount 
/afs first, and the umount ends up running afs_shutdown() by itself.

I guess the only use of 'afsd -shutdown' is to handle the case where afsd 
failed to start properly (ie, it initialized the kernel module, but never 
mounted /afs)?


Thanks,

Chris
wingc@umich.edu