Coda File System

Re: Simple problem... I think

From: Samir Patel <samir_at_eden.rutgers.edu>
Date: Wed, 16 Apr 2003 12:16:50 -0400 (EDT)
On Tue, 15 Apr 2003, Jan Harkes wrote:

> Here beginrepair simply tells venus to expand the conflict. Once the
> conflict is expanded it checks the contents of the 'fake directory' to
> see what type of conflict this is. You can suspend repair (^Z) and do
> 'ls -l blah' to check for yourself. In this case it should have expanded
> to a local and a global directory. However the enumeration step failed,
> maybe we got completely disconnected from the servers and global is a
> dangling link instead of a proper directory (as I just noticed is the
> case further down in your email).

If the client goes into disconnected mode, why would it then get
completely disconnected from the server?  This is a desktop sitting
on a LAN.

> > If I do an 'ls -l blah' now, I get:
> >
> > lrw-r--r--    1 root     nfsnobod       27 Apr 15 13:35 global ->
> > @7f000000.000018f2.000007ef
> > -rw-rw-r--    1 samir    nfsnobod       14 Apr 15 12:19 local
>
> This is easily explained. The object does not exist on the servers, so
> ofcourse we cannot show the global object. I believe this conflict
> 'should' be propagated to a directory conflict in the containing
> directory. Perhaps it fails to do so because your shell process has
> 'pinned' down the directory and therefore we fail to turn the directory
> into a conflict. Or maybe there is something wrong in the local-global
> repair handling of store conflicts, this is an update/remove type
> conflict that hasn't been tested as frequently as update/update
> conflicts (when both clients concurrently try to update the file).

What are the plans [if any] on fixing these sort of things?

> > but I can't ever get the conflicts resolved.  The only way to get
> > things back to "normal" is to shut Coda down, and re-run venus-setup.
>
> 'cfs purgeml' will throw away all logged updates that are still waiting
> for reintegration. Once the logged updates are gone the conflict should
> be gone as well and the volume can become 'Connected' again.

Thanks!  I need to read the cfs man pages and the Coda manual a bit
more carefully.

> > Occasionally, I can't even cleanly shutdown Coda (get timeout error's
> > trying to access /coda partition), in which case I just reboot the
> > client.
>
> When there is any process with a reference to a file in the /coda
> subtree (f.i. working directory of a bash shell), the Linux kernel
> rejects the unmount. The timeout and EIO errors occur because there is
> no venus process listening for upcalls anymore. The only way out is to
> find and kill any processes that have references to objects in /coda,
> then umount /coda and then the client can be restarted.

That's what I thought...

> Jan

Thanks,

Samir
Received on 2003-04-16 12:20:16