[PATCH Coda 0/5]
Robert Watson
rwatson at FreeBSD.org
Thu Jul 12 12:11:04 UTC 2007
On Wed, 11 Jul 2007, Jan Harkes wrote:
> On Wed, Jul 11, 2007 at 09:57:31PM -0500, Eric Anderson wrote:
>
>> I've done the patches and buildworld/kernel, and have loaded the kernel
>> module. All seems well. Now I need to get the latest client running, and
>> begin some tests. Do you have any notes on the client, since the port is
>> essentially defunct? What's my fastest path to a working client?
>
> wget http://www.coda.cs.cmu.edu/pub/lwp/src/lwp-2.3.tar.gz
> wget http://www.coda.cs.cmu.edu/pub/rvm/src/rvm-1.14.tar.gz
> wget http://www.coda.cs.cmu.edu/pub/rpc2/src/rpc2-2.5.tar.gz
> wget http://www.coda.cs.cmu.edu/pub/rpc2/src/coda-6.9.1.tar.gz
Should be:
wget http://www.coda.cs.cmu.edu/pub/coda/src/coda-6.9.1.tar-gz
> tar -xzf lwp-2.3.tar.gz
> ( cd lwp-2.3 ; ./configure ; gmake ; sudo gmake install )
>
> tar -xzf rvm-1.14.tar.gz
> ( cd rvm-1.14 ; ./configure ; gmake ; sudo gmake install )
>
> tar -xzf rpc2-2.5.tar.gz
> ( cd rpc2-2.5 ; ./configure ; gmake ; sudo gmake install )
rpc2 depends on perl and should probably check for it in configure.
> tar -xzf coda-6.9.1.tar.gz
> ( cd coda-6.9.1 ; ./configure --prefix=/usr/coda ; gmake ;
> sudo gmake client-install )
Newer gcc revisions get awful cranky about all those string constants being
passed around as 'char *'s :-).
> # load the coda kernel module, kldload coda or something
> /usr/coda/sbin/venus-setup testserver.coda.cs.cmu.edu 100000
This probably no longer applies on FreeBSD:
You need a character device for the Coda kernel module
On *BSD systems you probably have to run "mknod /dev/cfs0 c 93 0"
...and might lead to confusion.
> /usr/coda/sbin/venus
I neglected to notice your instructions to explicitly load the kernel module,
so ran Venus without it -- the error message wasn't as suggestive as might be
hoped. Perhaps "Load the kernel module, dammit" if consecutive ENOENT's come
from trying to open the device nodes would be appropriate?
13:45:07 Coda Venus, version 6.9.1
13:45:07 Probably another Venus is running! open failed for
/dev/cfs0,/dev/coda/0, exiting
> ls /coda/testserver.coda.cs.cmu.edu/
>
> If everything worked ok you should see 2 directories and a file named
> 'WELCOME'.
At this point I got an ls stuck in the coda_call wait channel:
freebsd-coda# ls /coda
freebsd-coda# ls /coda/testserver.coda.cs.cmu.edu/
load:0.02 cmd: ls 39084 [coda_call] 0.00u 0.00s 0% 1116k
I see UDP traffic to telemann.coda.cs.cmu.edu but no apparent forward progress
until eventually:
ls: /coda/testserver.coda.cs.cmu.edu/: No such file or directory
So it sounded like things sort of worked. I'm behind four layers of NAT on
this VM, what with Parallels, the WAP, a Soekris box, and a Newnham College
NAT, so if NAT problems still exist for Coda, that result might not be
surprising. I notice also that the clock on the box may be off by an hour,
perhaps a problem?
When I killed venus and restarted it, then the system hung:
freebsd-coda# killall venus
freebsd-coda# ls /coda
NOT_REALLY_CODA
freebsd-coda# /usr/coda/sbin/venus
Date: Thu 07/12/2007
13:49:59 Coda Venus, version 6.9.1
13:49:59 /usr/coda/LOG size is 2706432 bytes
13:49:59 /usr/coda/DATA size is 10821456 bytes
13:49:59 Loading RVM data
13:49:59 Last init was Thu Jul 12 13:46:24 2007
13:49:59 Last shutdown was clean
13:49:59 Starting RealmDB scan
13:49:59 Found 2 realms
13:49:59 starting VDB scan
13:49:59 2 volume replicas
13:49:59 0 replicated volumes
13:49:59 0 CML entries allocated
13:49:59 0 CML entries on free-list
13:49:59 starting FSDB scan (4166, 100000) (25, 75, 4)
13:49:59 2 cache files in table (0 blocks)
Sadly, no BREAK_TO_DEBUGGER on this box, so I will rebuild the kernel and try
again later.
> lwp, rvm and rpc2 use automake so I think gmake is not really necessary
> anymore, but there may still be some gnu artifacts around, I think I
> removed the one more from rpc2 not too long ago. I still want to move
> the main Coda source to automake to simplify the build and get rid of
> the remaining gmake dependencies.
>
> As far as other build dependencies, I think the following are the
> minimal needed one, but they tend to come installed on most systems,
>
> pkg-config, libreadline5-dev, libncurses5-dev, g++, flex, bison or yacc
>
> (these were listed as build dependencies on a debian system)
>
> To remove everything from your system, the automake based libraries have a
> convenient uninstall target, for Coda itself everything 'should' have ended
> up under /usr/coda. I haven't actually tried installing outside of /usr or
> /usr/local in a while though.
To do the build I needed to install gmake and perl packages. These implicitly
brought in gettext and libiconv, so I'm not sure if there are any explicit
dependencies there.
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-fs
mailing list