[OpenAFS] afslog and case sensitive cell names

Russ Allbery rra@stanford.edu
Tue, 07 Mar 2006 16:06:43 -0800


This ate up a couple of hours of debugging, so sending it to the list just
in case someone else runs into the same problem.

KTH afslog (and in general anything that uses the KTH libkafs library -- I
haven't checked the Heimdal version) just passes the cell name unmodified
to the kernel without doing any case normalization.  For various stupid
reasons mostly involving historic confusion between K4 realm names and AFS
cell names, some of our systems had a ThisCell file that had
IR.STANFORD.EDU in it rather than ir.stanford.edu (which is what we use in
CellServDB).

This happened to work in the past so we never really thought about it.
Then, today, afslog started failing on some of our new Red Hat systems
with the standard...

    Failed getting tokens for cell (local cell) in realm (local realm).

...I'm going to break and not tell you why afslog error message.  Turns
out that at least with OpenAFS 1.4, the kernel now cares about the case of
the cell name when putting tokens into the kernel.  strace output was:

ioctl(3, CAPI_REGISTER or SNDCTL_COPR_LOAD, 0x7fbfffd880) = -1 ESRCH (No such process)

or the equivalent for the system call interface (for a while, I thought
the system call interface was generally failing).

Changing ThisCell to put the cell name in all lowercase fixed the problem.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>