Coda File System

Coda-6.0.7 released

From: Jan Harkes <>
Date: Thu, 21 Oct 2004 01:46:08 -0400
It's been far to long since we've made an official release, several
pretty serious bugs got fixed and several new features have been added
over the past few months.

So new releases of LWP, RPC2, RVM and Coda can be found on ftp.coda.
(source tarballs, redhat-9 rpms and debian packages)

Finally, we should be releasing a usable version of the Windows 2000/XP
Coda client fairly soon. And the Coda kernel module in the upcoming
linux-2.6.9 kernel will be including support for sendfile.

(Although there are no significant RVM changes on the client, new
clients _might_ still require a reinit. i.e. reintegrate your changes
before upgrading your client!)

Coda 6.0.7
New features
- codadump2tar, converter that takes a 'volutil dump' file and spits out
  a tar archive, doesn't yet work for incremental dumps. (Satya)
- Send shutdown and zombie events to codacon. (Phil Nelson)
- Added manpages in docbook format for au, auth2, cfs, cmon,
  coda_replay, cpasswd, ctokens, cunlog, hoard, initpw, norton, pdbtool,
  passwd.coda, repair, spy, vicetab, and venus. These are converted to
  regular *roff manpages when either docbook2man or docbook-to-man is
- rpc2_timeout and rpc2_retries are now venus.conf options, and their
  default values have been bumped up from 4 retries over 15 seconds to 5
  retries over 60 seconds. This should reduce the occurence of unexpected
- venus daemonizes after /coda is mounted, init-scripts that start after
  the Coda client can now assume that /coda is accessible.
- New norton function 'rename volume <id/name> <newname>' to relabel
  existing volume replicas on a server.
- createvol_rep doesn't use the VSGDB anymore, instead of specifying a
  server group with the mystical E0000XXX numbers, the servers are now
  explicitly named; 'createvol_rep <volumename> <server>[/<partition] ...'
- Default rootvolume name is now '/'. If /vice/db/ROOTVOLUME exists we
  map requests for '/' to the volume named in the ROOTVOLUME file.
  (i.e. nothing really changed)

Bug fixes
- Forgot to swap the ports to network byte order in the DNS SRV
  responses. (Ivan Popov)
- Ignore realm names starting with a period. (Ivan Popov)
- Fixed cfs forcereintegrate error return code. (Jim Page)
- When tcp sockets for mariner (codacon) are enabled only bind the
  listen socket to localhost. (Phil Nelson)
- Don't get an exclusive lock when handling the CODA_OPEN_BY_FD upcall,
  we can get a shared lock if we're only reading the file. (Rajesh Balan)
- Avoid reserved userid 1 and username System in vice-setup-user.
  (Nickolai Zeldovich)
- gcc-3.3.4 compile fixes. (aredridel/bugs_at_coda)
- Fix a bunch of warnings all over the code. (Troy Benjegerdes)
- Avoid a crash when iterating through connections when a token expires.
- When an authenticated request fails because of an expired token, don't
  immediately return EPERM but retry on an unauthenticated connection.
- Avoid dropping locally modified objects when validateattrs fails.
- Make sure we transition a volume with a pending changes to
  (Write-)Disconnected state after startup.
- Changed how ioctl numbers are handled, the old way broke depending on
  the version of the kernel headers. Also discovered that several ioctls
  were erroneously numbered beyond the 8-bit limit and collided with
  (mostly unused) lower numbered ones.
- When SRV records say that a service is definitely not available
  ('.' response) don't fall back on normal DNS host resolution.
- Codaconfedit used to re-add already correctly set values.
- Validatevols was broken, the client walked through the returned list
  with a different stride and claimed every volume but the first was
  modified during disconnection.
- Except for some remaining RPC stubs, removed the writeback permits code.

RPC2 1.23
- Fixed crash when the first host in a multirpc request has a failure.
- Removed deprecated EAI_NODATA and EAI_ADDRFAMILY errorcodes (rfc3494).

RVM 1.10
- Switched allocation strategy to best fit to reduce fragmentation.
  (Michael German)
- Added check if an allocation could possibly succeed. Venus uses this
  to make sure it purged enough from the cache when it needs to allocate
  a lot of space for a directory. (Michael German)
- Speed up rds_free by only merging with the next free block and fall
  back to a full coalesce scan when malloc fails to get enough space.

LWP 1.12
- Nothing important. Just made sure everything still builds with current
  versions of autotools and gcc and updated the packaging a bit.
Received on 2004-10-21 02:05:26