[OpenAFS-devel] Problem starting openafs on linux without connection to home cell

Rainer Schöpf rainer.schoepf@proteosys.com
Sun, 11 Jul 2004 18:52:17 +0200 (CEST)


When OpenAFS starts, it usually needs to connect to the home cell's
servers. If it cannot reach any of them, it remains in a half-cooked state
and cannot be shut down without a reboot. I'm aware that using -dynroot
gets around this particular problem, but -dynroot has its own
pecularities.

Why do I need this? I've been experimenting with an afs client that
connects to its home cell through a vpn tunnel. It may be that the tunnel
is down when AFS starts.

More specifically: the startup proceeds until afsd issues the mount system
call for /afs, which times out and returns EINVAL. However, the global
variable afs_globalVFS is already set to the AFS superblock. Therefore, it
is not possible to shut down AFS (with "afsd -shutdown") as the
AFS_SHUTDOWN system call fails after logging the message

  AFS isn't unmounted yet! Call aborted

So, I thought I could just mount /afs by hand with

  mount -t afs AFS /afs

This results in the message

  You must reload the AFS kernel extensions before remounting AFS.

because the global variable afs_was_mounted is already set to 1.

Would it make sense to set afs_globalVFS and afs_was_mounted only after a
sucessful call to afs_root?

   Rainer Schöpf