[OpenAFS-devel] A few questions about the current Linux implementation of the AFS client

Derrick J Brashear shadow@dementia.org
Mon, 21 Jan 2002 12:53:21 -0500 (EST)


On Mon, 21 Jan 2002, Matt Peterson wrote:

> It is common to see the OpenAFS client become tied up in an afs_syscall that 
> consumes 100% of the CPU. 

Have you seen this is cases where afsd has not had signals sent to it? 

We have patches onhand which should fix the signal problem but basically
currently if you signal afsd it will chew up CPU because it never handles
the signals. The patches are pending verification and if successful will
be included in 1.2.3.

> I have notices several kernel crashes -- especially on shutdown of the client 
> that are related to OpenAFS kernel module.  I am investigating the oops and 
> so far the appear to be related to code that is out of date with current 
> Linux Kernel internals.

That may well be correct. There is a fix which will be in 1.2.3 to catch
up with current 2.4 kernels.

> Finally, afsd is unable to handle a signal of any kind.  Several afsd 
> processes (the rx callback listener, the trunc-cache daemon, and all the 
> background daemons) will consume 100% of the CPU and never return from the 
> syscall.  The only way to recover from this is to unmount /afs which puts you 
> in the state mentioned previously where libafs still appears to retain use of 
> kernel resources and will often crash the entire kernel.

you need to then call /usr/vice/etc/afsd -shutdown

the rc scripts which come with OpenAFS do this.

> This last problem is the one that bothers me the most.  It is extremely 
> common for init scripts to send signals to processes as part of shutdown and 
> restart operations.  afsd MUST be able to handle (ignore) signals.  

See above.

-D