Coda File System

Coda-6.9.5 released

From: Jan Harkes <>
Date: Wed, 31 Mar 2010 14:42:25 -0400
It has been far too long since we had a Coda release, so here is one
which allows the source to build with some of the newer compilers and
development tools that are around.

I've uploaded both source tarballs as well as prebuild Debian packages.
I didn't build RPMs to avoid conflicts/confusion with with the official
Fedora packages.

One note for people updating the Debian coda-server packages, the init
scripts got rewritten and the old init-scripts are not correctly
removed, after installing the new server run the following to prevent
the server from trying to start twice,

    update-rc.d -f auth2.init remove
    update-rc.d -f codasrv.init remove


Here is a list of changes in Coda-6.9.5,

- When writing a checkpoint file of the reintegration log took longer
  than the checkpoint interval, we would immediately start writing out a
  new checkpoint, looping indefinitly. (Paolo Casanova)
- Checkpointing failed when the reintegration log contained an empty file.
- Truncate cache file when lookaside lookup fails to avoid the following
  fetch from assuming we already successfully fetched some of the data.
- Make sure we wake up blocked threads when a fetch fails.
- Only close the shadow file descriptor during reintegration if we
  actually opened it.
- Return permission error when a user tries to rmdir a mountpoint.
- Do not flush kernel caches whenever we check if a file is in use.
- gcodacon improvements, notification rate limiting and window
  placement. (Benjamin Gilbert)
- Reduce server->client RPC2 timeout from 60 to 30 seconds, reduces the
  time a client is blocked while callbacks are broken.
- Introduce stricter locking on the server->client callback connections.
- Make sure clients cannot indefinitely keep a callback break RPC busy
  preventing it from completing.
- Write a stack backtrace to the log when an assertion fails.
- Don't create /etc/modules.conf on newer Linux kernels (Adam Goode)
- Don't install init scripts when building from source. Example scripts
  based on Hans de Goede's LSB scripts for Fedora are provided in
  tools/, but actually installing them is something that should now be
  done as a part of the distribution specific packaging.
- Change the default venus.conf settings to use more standard locations
  for various log and cache files (/var/log/coda, /var/lib/coda). This
  changes only the default 'example' configuration file, so it will not
  affect settings for existing clients.

There are also new versions of Coda's support libraries LWP-2.6,
RPC2-2.10 and RVM-1.17, with the following significant changes,

- Avoid fortify error when we switch between LWP threads.
- Make sure rpc2 always checks the global timeout during multirpc handling.
- Send keepalives to RPC2 clients when the initial connection setup
  takes longer than expected. This avoids clients from disconnecting
  during connection setup when the server is busy.
- Fixed various concurrency issues in RVM which were found while running
  with pthreads. It is unclear if these could occur with cooperative
  threading which is what Coda clients and servers use but it is
  recommended to update.
Received on 2010-03-31 14:42:44