Coda File System

Re: mkmount error

From: Jan Harkes <>
Date: Thu, 11 Nov 1999 11:37:16 -0500
On Thu, Nov 11, 1999 at 04:56:55PM +0100, Alan Scheinine wrote:
> I wrote that after cfs mkmount /coda/software/JAVA software.JAVA
> I saw /coda/software/JAVA -> #software.JAVA
> The manual said wait for 5 minutes, I waited for much longer.

Hi Alan,

The VRDB and VLDB files were not propagated to all servers. This is
probably caused by not correctly running updateclnt/updatesrv daemons.

The `simplest' thing in this case is to log into the SCM, and run:

    /etc/rc.d/init.d/update.init restart

And then do the same thing on all other servers.

> One machine on the network that replicated volumes was in the
> state that venus would die because /coda was already mounted,
> but "umount /coda" said that the directory was busy.  No processes
> were inside that directory, aside from perhaps the kernel.  The
> command fuser -v /coda gave an error so I could not get more information
> about who was using coda.

This is most of the time a shell that has it's working directory
somewhere in coda. This problem stems from the linux kernel, all open
files in a filesystem are linked from it's superblock, and we cannot get
rid of the superblock until all references are closed. On the *BSD
platforms this does not happen. Somewhere in 2.2.x a syscall that can
force unmounting of dead NFS mounts, we haven't looked yet if that could
be a solution for this problem.

Instead of fuser, I mostly use 'lsof | grep /coda', it has go through
grep, otherwise it gives the same errors as fuser, but this (often)
shows processes that still have references.

> 					 So to summarize, if venus
> is foobar on just one machine, it may not be possible to create
> new volumes.

That is definitely, 100%, not true. It is the update propagation between
the servers that was causing the problem. At no time the servers depends
on a dead client, in fact that client probably wasn't even running a
venus anymore, and therefore had absolutely NO connections to the

> By the way, Brice Ruth recommened
>  cfs mkmount <volume> <mountpoint>
> but what worked for me is the other way around.
>  cfs mkmount /coda/software/JAVA software.JAVA for example.

That is the correct way, although I always confuse myself and simply run
cfs mkm without argument to check ;)

> Alan Scheinine

Received on 1999-11-11 11:40:47