2001-06-12 <jaharkes@cs.cmu.edu> * ======== Release 5.3.15 ========= * Improved the db1 autoconf test some more. * Fix wild iterator when killing off connection groups. * Found server memory leak in the access validation path. * Addressed possible race in server down handling. * Not returning ENOENT when testing inconsistent files with access(F_OK). * More effectively invalidate kernel caches for dangling symlinks as a result of conflicts. * Remove some unused code. * Allow server-server repair with only one existing replica, needed for repairing conflicts after running out of diskspace. * Code cleanups for gcc-3.0 prerelease. * Added "skip volumes" argument to norton-reinit -load. * Reduce stack usage when printing name contexts. * The 'change id' function of pdbtool would silently corrupt the pdb databases, group owner id's were not updated, users were missing as members from groups. Group could become a member of a user. Hueristics to fix these corruptions are added to the 'pdbtool cm' functionality. 2001-03-27 <jaharkes@cs.cmu.edu> * ======== Release 5.3.14 ========= * Reintroduced VSGs in venus. * Fixed refcounting for hdb_bindings. * Added refcounting on srvent structures. * Moved venus/mgrp related operations into venus/mgrp.cc. * Re-randomizing during hoardwalks to add fair reclaiming behaviour in the low end of the priority queue. * Fixed PackVS bug when hosts in an mgrp are not all packed into the beginning of the hosts array. * Merged decision to use vol->AddCOP2 into vol->COP2. * Fixed signal handler so that simply sending SIGHUP rotates the logfiles without crashing venus. * Replaced a couple of uses of mktemp() with tmpfile(). * Removed most redefines of VSG_MEMBERS, this constant should now only be defined in vcrcommon.rpc2. * Reordered test that searches for libdb 1.85. 2001-02-25 <jaharkes@cs.cmu.edu> * ======== Release 5.3.13 ========= * Fixed incorrect ACL creation on new volumes. * Caught memory leak in volutil dumpestimates. * Corrected include file search order to pick up local headers before system headers. * Turned off rpc2 packet tracing in the servers. * volutil info now accepts replicated volume names/ids. 2001-01-19 <jaharkes@cs.cmu.edu> * ======== Release 5.3.12 ========= * Fixed partition initialization bug. * Patch for pdbtool to import real /etc/group file (Steffen Neumann). * Avoid creating duplicate groups when importing. * Removed hardcoded uid's for System:AnyUser and System:Administrators. * Cleanups for purgevol_rep, it now also purges backup volumes. 2001-01-15 <jaharkes@cs.cmu.edu> * ======== Release 5.3.11 ========= * Filerepair merged into repair tool (Rimas Svarcas). * Properly expanding sysconfdir (Greg Troxel). * Experimental `staging server' support (Shafeeq Sinnamohideen). * Fix volutil getvolumelist corruption due to broken snprintf implementations. * Directory code cleanups and corrected handling of boundary conditions when growing a directory. * venus-setup improvements related to kernel modules, device creation, and setting up initial directories. * Avoid crash when no resolution log is available on the server. * Brought norton-reinit back from the dead. * Hardcoded portnumbers in case of failed getsrvbyname lookups. * Select strongest server in an AVSG. * Repair cleanups (Rimas Svarcas). * Support for masquerading firewalls, use venus.conf option `masquerade' to enable. Only works with 5.3.11 servers. * Improved auth2 access checking. * Removed last bits of vstab support. * Dropping unauthenticated connections to updatesrv. * Avoiding endless loops while killing mgrps. * Fixed volutil authentication. * Fixed partition size calculation, it wrongly assumed 1K blocks. * Fixed Y2K bug in volutil info. * Fixed file truncation bug (truncating a new file without writing data). * Added a yield during volutil dumpestimate to avoid rpc2 timeouts when checking a large volume. * Improved volutil dump/restore reporting. * Added check for -fno-operator-names (Timothy Wood). * Added warning when gethostbyname(myname) returns a 127.x.x.x address. * Added warning when db/servers has a server with `reserved' hostid (0, 127 or 255). * Added ipaddress=xxx.xxx.xxx.xxx server.conf option to override incorrect gethostbyname(myname) results. * Fixed server hostTable iterators. * Allow server to bind to IN_ADDR_ANY when not running multiple servers on the same machine. * Moved /vice/vol/VRList to /vice/db/VRList to allow SCM takeover. 2000-10-06 <jaharkes@cs.cmu.edu> * ======== Release 5.3.10 ========= * Fixed mounting /coda on Linux 2.0 kernels. * Caught wrong initialization of a volume flag which causes disconnected volumes when the network is strong and servers are up. 2000-09-29 <jaharkes@cs.cmu.edu> * ======== Release 5.3.9 ========= * Some createvol_rep fixes when new servers are added (Phil Nelson). * Improved recycling of client connections on the servers, fixes client connectivity and minor race problems. * Cleanup of the SpoolVMLogRecord code in the server. * Replaced the advice_daemon with a rewritten daemon the `sidekick' for triggering ASR's (Rimas Svarcas). * Venus didn't get shutdown properly on Redhat Linux. * --without-openssl configure flag to avoid linking with libssl. * Extensive cleanups and improvement for the repair related code (Rimas Svarcas). * Fixed updateclnt/srv directory skew which prevented files to be propagated from the SCM to the other servers. * Large restructuring of venus's volume handling code. * Chown used to fail on newly created files. * Updates to compile with current cygwin32 compiler (Phil Nelson). * Removed VMon, rws, VSR statistics gathering related code. * Blocked setuid bits. * Fixed venus -rvmt 3 (no-RVM operation), added dontuservm as a parameter in venus.conf. * Turning off resolution in createvol.rep for singly-replicated volumes. * Venus now properly reclaims unused empty volumes from RVM. 2000-06-22 <jaharkes@cs.cmu.edu> * ======== Release 5.3.8 ========= * volutil restore bugfix (Ulrich Kahn). * More changes for allowing multiple servers on a machine (Phil Nelson). * Venus rotates the logfiles when it receives a SIGHUP. * Many changes to the volume creation scripts and associated server code. * Updatesrv now only has to run on the SCM. * Fixed hosttable overflow crash which struck when 1024 clients had connected to a server. * Servers now dump directory contents if queried by volutil showvnode. * Some NetBSD-current updates (Phil Nelson). 2000-05-01 <jaharkes@cs.cmu.edu> * ======== Release 5.3.7 ========= * Bumped the version number to 5.3.7. * Many changes to the server setup scripts (Phil Nelson). * Allow for overriding hardcoded paths in server programs by using config files in /etc/coda to configure (multiple) servers. (Phil). * Locked up updatesrv to serve files from /vice/ only. Also added an export file (/vice/db/files.export) to restrict this exported set further. (Phil) * Avoiding base64_* nameconflicts with kerberos (Owen LeBlanc). * Verification phase of directory resolution now works. * Fixed crashing on `lost' dirty objects during recovery. * Optimizations for hoard walks, avoiding duplicate namebindings, and fixed an occasional NULL-ptr dereference. * Fixed hoarding of symlinks. * Added volume dump estimates and allow for concurrently running dumps. * Volutil can now dump/write to stdout, needs rpc2-1.4. * Fixed directory bug (Greg Troxel). 2000-03-21 <jaharkes@cs.cmu.edu> * ======== Release 5.3.6 ========= * Distributing rpc2 and rvm as separate packages. * Removed a bunch of unused code. * Hierarchical file cache for Coda clients (Phil Nelson). * Lazy creation of hierachical directory trees (Phil Nelson). * Fixes to cure needless refetching of weakly reintegrated files. * Fixed a bad optimization error in log-based resolution which occasionally cancelled out the wrong operations. * Correctly handle writeback caching on replicated volumes (Shafeeq Sinnamohideen) * Filenames in repair files sometimes got truncated. 2000-02-04 <jaharkes@cs.cmu.edu> * ======== Release 5.3.5 ========= * Lots of fixes for Solaris sparc & i386 (Phil Nelson). * CML entries were not frozen during trickle reintegration and repair * sessions. This lead to problems with failed backfetches, bad reintegrations of owrite files, and crashes during log optimizations. * cfs rmm didn't inform the kernel that the directory was gone. * Broken inet_aton check in configure caused gethostbyname crashes on FreeBSD (Shafeeq). * New code-paths in sftp (as of the last release) turned up some bugs. * Shadowing the container file `V0' copied its contents to `V0', actually losing the data during the copy (Shafeeq). * Moved default location of venus.log to /usr/coda/etc. * Fixed double free of sftp packets on disk errors. * Fixed up missing shadow files and making backups of owrite files to /usr/coda/spool during venus startup/recovery. * cfs forcereintegrate should now work correctly (Shafeeq). * Bad COP2 handling lead to undetected server-server conflicts. * Several weak-reintegration problems fixed. * Weak reintegration marked the wrong objects as needing resolution. * Repair didn't freeze CML entries during reintegration, and failed to correctly copy filedata when preserving a store operation. * -mapprivate flag for norton (Phil Nelson). 1999-12-31 <jaharkes@cs.cmu.edu> * ======== Release 5.3.4 ========= * Recursive (blocked) RPC2 calls were never woken, was a cause for a deadlock in the server to client callbacks. * Moved the mariner port to a unix domain socket. * Fixed a crash on 'cfs rmm dir/' * Skipping non-cacheable objects during the hoard walk. * Got rid of a double free (and crash) in the sftp code. * Added optional private rvm mappings. Huge performance wins when enabled, but only works for rvm-files. (Phil Nelson) * Fixed the year being printed as 100 in the logfiles in 2000. * Build cleanups, moved kernel-src and lwp to separate packages. * Switched codaservers to exit by default, added a -zombify flag and test for /vice/srv/ZOMBIFY to switch back to the endless sleep. * Cleanups in backup and setup scripts. (Kurt Huwig and David J. Graff) * Added more options for venus.conf. * Added support for multi-level incremental backups. * Fixed resolving the parent directory when GetAttr fails. * Fixed SetACL problem where an invalid username would result in the acl for user `0' to be added. * Fixed losing files (and possible crash) during venus startup after a file was opened for writing during reintegration (shadowing). * Fixed losing filedata when a file gets shadowed twice. * Didn't resolve the directory owner when doing log based resolution. 1999-10-21 <jaharkes@cs.cmu.edu> * ======== Release 5.3.3 ========= * Dumpdir argument of the backup program was not considered optional. * Skip invalid lines while parsing the VSGDB. * Build cleanup, now correctly builds vcrcommon.h. * Setattr sometimes wanted fso data even when it was not required. * Removed broken fcntl locking for directories. 1999-10-11 <jaharkes@cs.cmu.edu> * ======== Release 5.3.2 ========= * Bugfixes: - Truncating a file while disconnected caused venus to crash. - A memory leak was triggered by failing SFTP transfers, this has been partially fixed. - Fixed a crash that occured after a double kill of a namecontext during a hoard walk after token expiry. - Collapsed hoard namecontexts were never re-expanded due to some optimizations. * Cleanups & features: - Thanks to a huge patch from Jozsef Kadlecsik, many #ifdef's in the code are now based on autoconf detected features instead of operating system. - Reworked the init scripts a bit. - New configuration file, $sysconfdir/coda/venus.conf, which allows persistent changes to rvm/logfiles/cache directory locations, which should allow distributions to push Coda into their standard directory hierarchy. - Fixed a (false) conflict that was created after a token expired. - Several compiler errors/warnings fixed, thanks to Troy Benjegerdes and Kurt Garloff. - Phil Nelson has been making many fixes and updates for the Solaris port. 1999-09-01 <jaharkes@cs.cmu.edu> * ======== Release 5.3.1 ========= * Added CC -fpermissive flag testing to the autoconf script. * Applied patches for gcc 2.95 compilation, probably messed up at least one of them :) (Troy Benjegerdes) * CML entries were dropped after an out of order CML reintegration (triggered by repair->preservelocal). * Partial reintegration was occasionally causing data-loss when talking to multiple servers. * Fixed a deadlock when a thread was waiting for resolution to finish. * RPC2 timestamp wrap was causing slowdowns after 49 days. * pdbtool updates It now accepts usernames as well as userids, and removing a group didn't update the state of the group members. * Solaris fixes for venus. (Phil Nelson) * Venus now retries retryable repairs a couple of times. * MultiRPC NULL pointer dereference bug fixed. * Some more resolution problems fixed. * Fetch continuations cannot work for directories, forcing a refetch. * Fixed directory resolution bugs introduced in 5.3.0 * AutoRequestWBPermit was a used as a reference instead of a function call. (Nickolai Zeldovich) 1999-08-13 <jaharkes@cs.cmu.edu> * ======== Release 5.3.0 ========= * Fixes for big-endian problems with rpc2portmapper. (Troy Benjegerdes) * Fixed incorrect va_args usage on linux-PPC. (Troy Benjegerdes) * Writeback caching. (Shafeeq Sinnamohideen & Larry Greenfield, based on an initial design and code from Lily Mummert & Peter Braam) * Maxids command for pdbtool. (Greg Troxel) * Fixed libpdb maxid updating, added import/export/source commands to pdbtool, pdbtool now also accept all commands on the commandline. * Fixed bitvector addressing problems on big-endian machines. * RPC2 updates. * Shortened server backprobe interval to stay below the masquerading firewall timeout. * Applied kerberos5 patch that add -realm and -keytab options to kauth2. (Nickolai Zeldovich) * Added comments concerning safe-deletion of coda-list items. (Clement) * Solaris patches, the server is working. (Phil Nelson) * Fixed directory refcounting during failed repair sessions. * Avoid null-pointer deref when clients disappear from the network. * Fixed pending CML count in 'cfs listvolume'. * Corrected known CountedBS rpc2 memory leak & buffer overflow bugs. * Solved the 'reintegration entries without data'-bug. * Informing user of `imminent' loss of token, every 5 minutes during last hour. * Filled in most of the blanks in ViceGetStatistics. * Added smon2 an application to obtain server statistics for analysis. Uses rrdtool for the actual logging and graphing work. * Corrected error returncode & error handling to disconnect clients that use an incompatible vice.rpc2 version. * Fixed up memory leak resulting from dead/silent clients without callback connections (f.i. cmon). 1999-06-25 <jaharkes@cs.cmu.edu> * ======== Release 5.2.7 ========= * Corrected token file decoding. * Fixed a repair fixfile parsing error which caused servers to crash for some types of repair commands.. * Fixed a bug which potentially causes severe bitmap corruptions when a server has multiple data partitions (could also occur with multiple volumes). 1999-06-24 <jaharkes@cs.cmu.edu> * ======== (Release 5.2.6) ========= * Fixed a bug which caused volume creation to fail on new servers. 1999-06-21 <jaharkes@cs.cmu.edu> * ======== (Release 5.2.5) ========= * Applied patch to libal to work correctly with libdb2's libdb-1.85 emulation. (Andreas Koenig) * Fixed the repair tool, it now can handle spaces in filenames. 1999-06-09 <jaharkes@cs.cmu.edu> * Fixed bug in codacon, it tried to connect to 1.0.0.127. * `cfs lv' now lists more information about the volume, like inconsistencies, even while disconnected. (Clement) * Changes to allow multiple servers on the same machine. (Peter) * We forgot to clear a directory handle when aborting a reintegration. * Enabled cross-directory rename resolution. * Cleanup of the fetch continuation code, this should take care of several cases that could crash a client. 1999-05-31 <jaharkes@cs.cmu.edu> * ======== Release 5.2.4 ========= * Client uniquifiers were not unique, because the random generator wasn't seeded yet. * Trickle stores were broken, blocking reintegration. * A bunch of repair related changes, mainly simplify porting the repair tools to windows. * More SFTP tuning for lossy networks. * cfs disconnect/reconnect is fixed! (Clement). * More Win95 updates (Marc). * Handling token expiry at the server side now. * Fixed some rvm leaks in the client. * Turned off RPC2_strict_ip_matching by default, too many `multihomers' got bitten by this one. * Fixed rvm recovery bug in venus. 1999-05-13 <jaharkes@cs.cmu.edu> * ======== Release 5.2.3 ========= * Moved pdb filenames to prot_users.db and prot_index.db. * Avoid random data problems and buffer overflows when reading auth2 and volutil tokens. * Only query the servers in the vstab for volume information. 1999-05-07 <jaharkes@cs.cmu.edu> * Servers would assert when they got a connection from an unknown userid. * Codacon couldn't bind to venus if only the loopback device was available. * Added libdb2 detection, as it isn't 1.85 compatible (fileformat). * Reshuffled the tree a bit resolve -> librepair res/rvmres -> resolution kernel-src/linux -> linux-coda (separate tree) * Correct lock ordering when breaking callbacks on multiple clients. * Replaced 'cfs bw' with 'cfs strong/adaptive'. * Corrected lock ordering when creating hardlinks. * Switched from gdbm to db-1.85. * Fixed loss of reintegration records after venus reinitialization. This needed extra space in the RVM header, reinit your venus. * Caught several bugs related to partially cached objects. * Removed VM resolution, and fixed some bugs with RVM resolution. * Incorporated patches to get compiled on NetBSD 1.4 * Using lower/upper bandwidth estimates to reduce weak-strong changes when we are working at the weakly connected threshold. * owrite files with partial data were not discarded. * Fixed an endless loop in ViceNewFetch. * Gettimeofday on cygwin caused problems, added a workaround. * Updated kernel module with the 2.2.6/2.2.7 changes. * Fixes to kernel module refcounting. * Added statfs upcall, `df' now gives information about the cache usage. * Fixed kernel oops when reading from /proc/fs/coda/upcall_stats. * Processes got stuck when writing to /proc/sys/coda/*_stats. * Increased the precision of the upcall stats timing (echo 1 > /proc/net/upcall_stats to turn it on). * Got rid of 1000's of warnings when compiling with -Wall (still not completely done yet). * Reduced server retry timeout to max. 15 seconds. * Finish trickle stores when switching to strong, instead of resending the complete file. * Avoiding gethostbyname lookups if the vstab contains ip's. * Correctly comparing directories during resolve, this was the cause of many not really conflicting server-server conflicts. * Several repair/resolve related refcounting/deref. bugs fixed. * Fixed an uninitialized pointer deref when dumping volumes. * Added 200M choice to vice-setup-rvm. * Cleanup & proper locking in the callback code on the server. * Correctly log client addresses and port numbers in callback msgs. * LockQueue manager forgot to initialize thread specific data. * Split RPC2 & SFTP netlogs. * Quickly pass up NAK's on an SFTP connection. * Some overflows fixed in the new ns/B bandwidth calculations. * Fixed an uninitialized pointer dereference which caused random crashes for just about all mutating filesystem operations. 1999-03-25 <jaharkes@cs.cmu.edu> * ======== `Release' 5.2.1 ========= * Moving old pdb databases out of the way when re-running vice-setup-user. * Fixes small memory leaks in the pdb library. * Switched back to cygwin B20, the snapshots were giving version skew problems, added a fix to B20's gettimeofday problem. * Modified the bandwidth stuff (ns/B instead of B/s), this more quickly assumes weak connections, but gives better estimates overall. * Removes venus reinitialization when installing a new rpm. * Fixes several directory refcounting problems in the server. 1999-03-04 <jaharkes@cs.cmu.edu> * ======== Release 5.1.0 (5.2.pre1) ========= - summary of some of the differences since 5.0.x * New protection database (simplyfies user administration). * Removed obsolete venus-vice rpc2 calls. * Server support for trickle fetch and fetch continuations. * Improved support on the Windows platforms. * Avoid deadlocks in the rpc2 binding sequence. * Added support for FreeBSD 4.0 (Robert Watson) * Testing for -fno-exceptions in configure script. * Switching fetches between volume replicas. * Removed the need for -child flag on Win95. * Nice GUI frontend on Windows for starting/stopping venus. (Michael Callahan and Marc Schnieder) * Fixed @sys/@cpu expansions in venus, and allow setuid bits. * Added @sys/@cpu commands to cfs to show the `current' expansion. * Normal symlinks were sometimes mistaken for inconsistent objects. * Many more cleanups and bugfixes. 1999-02-25 <jaharkes@cs.cmu.edu> * ======== Release 5.0.3 ========= * Fixed a bug introduced by the rpc2 cleanups, where lost packets were not retried, this was the cause of the server deadlocks. 1999-02-19 <jaharkes@cs.cmu.edu> * ======== Release 5.0.2 ========= * Resolution refcounting fixes. (Peter) * Test if the compiler has -fno-exceptions. * Made auth2 block only 15 seconds when authentication fails. * Corrected initialization for a couple of LWP threads. (Marc) * Zero out SFTP descriptors before usage. * Removed leftover merge conflict in norton/reinit. (Anders Hammarquist) * NetBSD-sparc support and BSD directory format fixes. (Matt Fredette) * Misc other *BSD patches. (Matt and Greg Troxel) * Prevention of DoS in the initial rpc2 bind sequence. * Fix for > 127 char filenames. 1999-01-21 <jaharkes@cs.cmu.edu> * ======== Release 5.0.1 ========= * Applied an compilation/64bit patch. (Jason Duerstock) * Cast a couple of NULL ptrs to correct types. (Peter Breuer) * Switched #include <sys/errno.h> to <errno.h>. (Bob Baron) * Added Alpha patches to mlwp. (Jim Doyle) 1999-01-19 <jaharkes@cs.cmu.edu> * Stop trying to make a Makefile in coda-src/al. * Dangling else bug in rpc2/multi3.c (Laszlo Vecsey) * Getservbyname in newer glibc's can't handle NULL args. (Laszlo Vecsey) 1999-01-18 <jaharkes@cs.cmu.edu> * Our Win95 inet_aton function didn't return an error when it was given an invalid IP address. * Fixed a bug in auth2/auser.c, FQDN got mistaken for an IP-address. (Amazingly quick bugreporting kudo's to Robert Watson, Elliot Lee, and Mathew Monroe) 1999-01-13 <jaharkes@cs.cmu.edu> * ======== Release 5.0.0 ========= * New code licensing. * Cleaned up LWP stackframes, now gdb doesn't get confused. * Updates to the volume management code. * Files with long names can now be successfully resolved. * Some disconnected operation bugs fixed. * Fixed hoard walk problems for ACL protected files. * Added Win95/NT Wise packaging files (tbf. in the tools directory). * Added FreeBSD ports and NetBSD pkgsrc stuff (see tools directory). * Fixed other small annoyances and removed obsolete code/scripts. 1998-12-16 <jaharkes@cs.cmu.edu> * Added the 4.6.x changelog entries to the development branch. * The development branch contains numerous cleanups and fixes, the important ones are listed below. - New directory handling code, which does not corrupt the directory structures on the server and has better `bad-directory' checking and handling code. - New RTT and bandwidth estimates in the rpc2 code, currently these estimates are used by SFTP and venus, RPC2 itself remains to be converted to the new scheme. Little timing/correctness errors were fixed. - Incorporates patches to build a win95 client with all the little apps around it (clog, cfs, etc.). * and more.... 1998-12-10 <braam@cs.cmu.edu> * removed usage of FT_AGetTimeOfDay which caused confusing RTT observations. * other important fixes. 1998-10-27 <jaharkes@cs.cmu.edu> * fixed null-pointer deref in multi-rpc tracing code. * 2 lwp's could gain access to the same exclusive write lock, this caused occasional deadlocks during rvm-truncation, and possibly corruption in other places. 1998-10-05 <jaharkes@cs.cmu.edu> * Integrated some of the useful & stable development patches. - Updated README.win95 - On linux sendto retries once when ECONNREFUSED is returned. - Updated scripts for the new portnumbers. - Updated server setup scripts. - removed createvol, recreatevol, and recreatevol_rep scripts. 1998-09-08 <jaharkes@cs.cmu.edu> * Added Elliot Lee's patches for venus. 1998-09-02 <jaharkes@cs.cmu.edu> * ======== Release 4.6.5 ========= * `cfs cs' as an alias for cfs checkservers * rpc2portmap & rc.vice updates for *BSD * increased SFTP retries to avoid losing a connection during tranfers. 1998-08-05 <braam@cs.cmu.edu> * ======== Release 4.6.4 ========= * Fixed filcon to return errors instead of filter id's * Salvage prints a message when it finishes a partition * login directory removed * auth directory now contains login stuff and kerberos support * port numbers changed to IANA assigned numbers * update uses the portmapper (since it has no port anymore) * crud removed from several directories * norton: you can now create and remove names in directories. 1998-07-23 <jaharkes@telos.odyssey.cs.cmu.edu> * ======== Release 4.6.3 ========= * Removed some network flooding avoidance mechanism which caused SFTP to work at 100KB/s on high bandwidth/low latency networks (100Base-T). * When a volume is not automatically salvage-able, ALL errors are reported instead of one. This is helpful when attempting to repair by hand. * Fix for norton, recreate a directory entry for some file. * Modified coda.spec to _not_ to create the /usr/bin/tixwish softlink. 1998-07-14 <jaharkes@telos.odyssey.cs.cmu.edu> * ======== Release 4.6.2 ========= * coda-src/rpc2: Small piggybacked fragments were rejected by venus. * coda-src/scripts/venus-setup: Creates /coda/tmp as well. * coda-src/update/updateclnt.cc: Stopped the updateclient from changing the systemtime, it now warns you to use xntpd. * coda-src/util/proc.cc: Close a leaked filedescriptor. * coda-src/venus: Modified number of cachefiles/hdb-/cml-entries. * coda-src/volutil/merge.cc: Fixed allocation errors. * coda-src/volutil/vol-dump.cc: Filepointer was sometimes closed twice. * coda-src/volutil/vvlist.cc: Fixed allocation errors. Added check for out-of-bounds array accessing. Corrected off-by-one iterator error. * kernel-src/vfs/linux21: Lots of fixes. 1998-06-30 <jaharkes@telos.odyssey.cs.cmu.edu> * ======== Release 4.6.1 ========= * coda-src/scripts/createvol_rep: Fixed a bug when using fully qualified hostnames in the servers or VSGDB files. * coda-src/venus/fso_cfscalls0.cc: Solved the EBADF bug. 1998-06-24 <braam@carissimi.coda.cs.cmu.edu> * kernel-src/vfs/linux21: enormous amounts of changes. New Makefiles for the linux-coda module. Improvements to the kernel code. * coda-src/fail: filcon now returns 0. * minor changes for BSD package building. 1998-06-18 <braam@carissimi.coda.cs.cmu.edu> * kernel-src/vfs/Makefile.in (SUBDIRS): linux kernel code builds no longer part of Coda building. Too many deps on kernel flags. This has implications for the coda.spec.in file too. * lib-src/mlwp/lwp.c: stacks are now mmapped with guard pages. * rvm-src/rvm/rvm_logrecovr.c: two important bugs were caught in a large scale debugging effort. They both resulted from the rvm thread not correctly signalling the other threads in case the log was empty but recover was triggered because a large transaction was pending. Servers now startup fine, even first time around. 1998-06-16 Peter Braam <braam@motet.coda.cs.cmu.edu> * rvm-src/rvmlwp and rdslwp: Jan fixed building RVM inside the source tree * coda-src/vice/srv.cc: moved RVM initialization before RPC2 startup. * coda-src/scripts/vutil & venus: Jan: improve signal handling, vutil now changes the debug level correctly on Linux (at last) * coda-src/vice/srvproc2.cc: Shafeeq and Peter: more changes to connection setup in the server. 1998-06-11 Peter Braam <braam@motet.coda.cs.cmu.edu> * kernel-src/vfs/linux21: the volroot list off the superblock was being corrupted with stale entries. Fixed. Also refresh the opened container inode upon every open. 1998-06-07 <braam@carissimi.coda.cs.cmu.edu> * kernel-src/vfs/linux21/psdev.c Moved entry for /proc/fs to the proc filesystem directory. * kernel-src/vsf/linux21/dir.c: fixed the nasty segfault caused by positive error return in coda_lookup. Cleaned up the interruption code. 1998-06-06 Peter Braam <braam@motet.coda.cs.cmu.edu> * coda-src/scripts/venus-setup: chmod 600 /dev/cfs0 !!! * coda-src/venus/vproc.h: for Linux CRTORUID for Linux should use fsuid. This allows Samba exporting of /coda 1998-06-03 Peter Braam <braam@motet.coda.cs.cmu.edu> * Fix to BOGUS/NAKIT macros. There are many unsafe macros in rpc2. These are the most important ones and we have made them safe. This was responsible for numerous errors. 1998-05-27 <braam@carissimi.coda.cs.cmu.edu> * rvm-src/configure.in/Makeconf: revamped the building process of the threaded rvm/rds libraries to stop using symbolic links. * volutil/vol-setlogparms.cc: VMRES flag was made obsolete, and "or-ing" the flags changed to assignment. 1998-05-18 <braam@ptar.stelias.com> * got rid of /vice/db/hosts. Names in /vice/db/servers must now be equal to those in the VSGDB. This involved minor changes in vol/volume.cc * changed SIGSTP to SIGUSR and added a routine UtilDetach which does setsid to: updatesrv, updateclnt, auth2. * changed srv to codasrv * vice-setup-rvm exits if srv.conf exists 1998-05-14 <braam@carissimi.coda.cs.cmu.edu> * increased the stack of advice_daemon in Venus to 0x4000. Stack overflow was caused by several char[MAXPATHLEN] on the stack. * increased the stacksize of various things in advice_srv * asked advice_srv to exit if Gui falls over * Fixed some missing code in advice/conversions.cc * Guidir: beginning of better handling of PATHS and GetServerInformation. advice_srv now works .. at CMU for Peter... * Makeconf Eliots problem with VPATH/INCLFLAGS. fixed. * lwp.c correct initialization of lwp_logfile. 1998-05-01 <braam@carissimi.coda.cs.cmu.edu> * ======== Release 4.6.0 ========= * lib-src/mlwp: patches added from Odyssey group to aid in debugging stack problems. * added LWP_SetLog file to set log file and level. * coda-src/rpc2, rp2gen: changes from Odyssey: change time measurement units to ms from 10ms; add float type to XDR. * included shrink packet bug fix * CODA_ASSERT: changed to while (1) { sleep(1); } to preserve more stack. * C++/C: we upgraded libal and auth2 and vicedep to "C". All stub will now appear with C linkage (rules for C++ stub code were removed). * Changed logging in RPC2 to use a log file rather than stdout. * rvm-src/seg/rvm_loadseg.c: initialized the hdr_vmaddr pointer to NULL. * coda-src/venus/vproc.h: use euid instead of fsuid. This allows samba to export /coda to my windows machine and I can save files directly into Coda. * coda-src/vice/srvproc.cc ViceNewConnection violated RPC2 semantics by making a long running call to set up a callback connection with Venus. This resulted in Venus retransmitting packets. We moved this setup to ViceNewConnectFS. * kernel-src/vfs/linux21: added /proc entries in /proc/fs/coda showing statistics. Fixed a bug in flag_children (dereferenced a NULL in a printk statement). Took care of O_RDONLY == 0 (i.e. it's not a bit which is set). * coda-src/advice: the Coda console is still not operational * coda-src/portmapper: a simple portmapper has been added. We will start using this in the future. * coda-src/rpc2/sl.c: ShrinkPacket -- this contained a nasty bug. If a packet was sent with a wrong length field in it a random pointer to a buffer may have been returned. This whole area needs more revisiting. * coda-src/scripts/startserver: makes a backup copy of SrvErr. Starts the server with the -debarrenize flag to avoid silly salvage problems. * vice.init: split up into 3 scripts for auth2, update and the server. Should now also stop these correctly. Did away with STARTFROMBOOT for Linux. * lwp.c: changed the Logging of errors to write to a FILE *lwp_logfile. LWP_SetLog can set this file and the debug level. * sys/....h: Bob Baron changed a few header orders for compilation on recent FreeBSD's. * kernel-src/vfs/linux21: important bug fix -- the VATRR flag was cleared instead of set in file_write. Fixed. * added suitable RVM addresses for Sparc 1+ machines running Linux. * Increased the stack size in the PollServer thread in backup.