Coda File System

Re: a few more build buglets in 6.1.2 on freebsd 6.1-release

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 8 Nov 2006 10:17:36 -0500
On Mon, Nov 06, 2006 at 01:27:28PM -0500, Jan Harkes wrote:
> On Mon, Nov 06, 2006 at 10:38:50AM -0500, Jan Harkes wrote:
> > My guess is that the end of coda_fbsd_clone needs an additional,
> > 
> >     mnt->dev = *dev;
> > 
> > I'm building a kernel with this change, but since I am running in a VM it
> > is taking a while. It does look like this is the most likely cause of
> > the problem.
> 
> This fixes the crash, however it doesn't fix Coda on FreeBSD-6.1. Now
> I'm faced with a failing mount, which was probably broken by the
> omount->nmount change,

Ok, that needed a userspace change, venus has to use the new 'nmount'
syscall. I still have to clean this patch up a bit. I also needed a
small kernel patch to get nmount to complete successfully.

> Looking a bit further even when the mount problem is fixed, Coda still
> won't work because of,
> 
>  Revision 1.24 / (download) - annotate - [select for diffs], Tue Mar 15
>  12:39:30 2005 UTC (19 months, 3 weeks ago) by phk
> 
>  Disable two users of findcdev.  They do the wrong thing now and will
>  need to be fixed.  In both cases the API should be reengineered to do
>  something (more) sensible.

And this one needed a slightly larger kernel patch, effectively removing
any accesses to the container file based on device/inode numbers. Coda
is now up and running on FreeBSD-6.1 to the point where I can look at
various directories and read some files without crashing anything, so
things are looking good. I'm guessing writes will work too, but haven't
tried those yet because I wanted to make sure I got the changes safely
out of the qemu VM before messing with writes and such. At some point I
accidentally closed the qemu X window which killed the VM and I lost a
bunch of pretty important changes.

I pushed the kernel related changes to a git repository,

    http://www.coda.cs.cmu.edu/cgi-bin/gitweb.cgi?p=fbsd-coda.git;a=summary

Once I clean up and commit the mount->nmount userspace changes to CVS,
I'll probably send the series of kernel changes as patches to this list
so that others can try them.

Jan
Received on 2006-11-08 10:22:54