Coda File System

Re: repair tool trouble

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Fri, 2 Nov 2001 16:39:07 -0500
On Fri, Nov 02, 2001 at 02:46:43AM -0600, Ryan M. Lefever wrote:
> On Thu, 1 Nov 2001, Jan Harkes wrote:
> > What kernel are you using, /coda/testvol/dir shouldn't exist anymore and
> > is probably the reason the repair is failing. It simply can't figure out
> > which object that is (as it 'temporarily' doesn't exist anymore).
> 
> I am using RedHat 6.2 (linux 2.2.14-5.0 kernel) and coda 5.3.13 and coda
> fs kernel module 5.2.3.  I have compiled and installed all of them from
> source.  Can you please elaborate more on why repair is failing and how I
> might want to go about getting it to work properly?

The fact that /coda/testvol/dir still shows up is because the kernel
didn't drop the cached directory entry for 'dir'. Coda should have
better interaction with the VFS dcache in 2.4, so I was hoping you'd say
2.2.

The kernel typically is unable to purge cached path information when
some application hold a reference to a file in the path beneath the
entry venus wants to get purged. (eg. a shell has /coda/testvol/dir as
it's working directory, or an application has an open filereference to
/coda/testvol/dir/somefile. Because applications typically don't hold a
file open for a long period of time (open/read/close, or open/wr/close)
it is most likely the current working directory of some process that is
holding the reference to the VFS cache entry.

> What is the difference between resolution and reintegration?  Does

Resolution is between servers, and reintegration is between a client and
one or more servers. During resolution the logs can be merged
out-of-order as long as we can find some way of merging that avoids
conflicts. During reintegration the log on the client is simply replayed
and there is no merging or out-of-ordering possible (as servers don't
trust clients enough to allow that).

> instance is it only resolvable if they are both reads?  Is their a table
> somewhere that specifies what combinations of file and/or directory
> creations, deletes, reads, writes, and other inode access in different
> network partitions are automatically resolvable?  I would like to figure
> out how to set up scenarios that are automatically resolvable and how to
> manually repair ones that are not.  I really appreciate the help!

I would guess the best place for this would be Jay Kistler's thesis,
which covers Coda's fundamentals such as reintegration and log
optimizations,

    http://www-2.cs.cmu.edu/afs/cs/project/coda-www/ResearchWebPages/docdir/jjk-thesis.ps.gz


And Puneet Kumar's thesis for the automatic server-server resolution,

    http://www-2.cs.cmu.edu/afs/cs/project/coda-www/ResearchWebPages/docdir/pkumar-thesis.ps.gz


Jan
Received on 2001-11-02 16:39:22