(Illustration by Gaich Muramatsu)
Hi All, Yes, I broke it :) I just checked in a lot of changes, which fix several of bugs, but also make the current development code unable to be on friendly terms with previous releases. Here is a list of changes, Several memory leaks fixed: - Fixed all known CountedBS vulnerabilities that were still left. Poor bounds checking made it possible to trigger memory leaks & buffer overflows in the servers. - Incoming rpc2 connections that didn't call ViceNewConnectFS, and therefore didn't have a callback connection were never cleaned up. Excessive `cmon-ing', and firewalls that blocked rpc2 reply messages pushed the rpc connection count on the testserver to over 5000 connections in a single day. Improved info for users & developers: - Added a new server statistics gathering program, that polls the server, instead of having the servers push the data out. It is in the tree under coda-src/smon2. You can also some of the resulting graphs at http://telos.odyssey.cs.cmu.edu/smon2/ - Fixed up the ViceGetStatistics, most fields weren't even filled in, it will require some more iterations to get all stats supported on all platforms. (hint, vice/srvproc2.cc:FS_ViceGetStatistics) - Informing a user of upcoming token loss. During the final hour before a server rejects the token, a message is logged to /usr/coda/etc/console every 5 minutes, counting down to expiry. However, the client does not Invalidate the token until the server complains, so disconnected users can continue accessing their files. - Clement documented safe_deletion properties of the various list structures used all over the code. This is written in the various header files in coda-src/util. And a couple more bugfixes: - A server that went unreachable didn't always get removed from the mgrpent. This causes either a doubling of the timeout, or in sime cases endless retries. - Fixed the "zero length files" after reintegration, and "store with no local data" bugs. It was caused by truncation of an uncached object. This only fetched the attributes, and then created a new store logrecord and tagged the fso as dirty. Any subsequent open for write fails with ETIMEDOUT, because we can't fetch (the missing) data for a dirty object. Other things (features?): - Kerberos patch from Nickolai Zeldovich, adding -realm & -keytab options to kauth2. The second part of the patch, which patching krbsupport.c isn't applied yet. Where DO we keep that file? - Closing /dev/cfs0 when venus asserts. This unblocks & returns an error for all pending kernel upcalls. Both NetBSD and Win95 were already doing this. - As the vice.rpc interface was already broken by writeback and other changes, I've cleaned up some of the arguments passed over the wire by rpc calls. f.i. ViceGetStatistics sent an uninitialized but complete ViceStatistics struct to the server, which initialized it, filled in the fields, and sent it back. There are probably some more left. By the way, for people who haven't kept track of the recent rush of checkin's, here is a summary of the big changes as of 5.2.7. * Fixes for big-endian problems with rpc2portmapper. (Troy Benjegerdes) * Fixed incorrect va_args usage on linux-PPC. (Troy Benjegerdes) * 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 (default?) 5-minute masquerading firewall timeout. * Solaris patches, Phil already got the server working. (Phil Nelson) * Fixed directory refcounting during failed repair sessions. * Avoid null-pointer deref when clients disappear from the network. * Length of the reintegration log & local-global conflict status is reported in the output of 'cfs listvolume'. (Clement) * Writeback caching. (Shafeeq Sinnamohideen & Larry Greenfield, based on an initial design and code from Lily Mummert & Peter Braam) I'll tag the current state of the CVS tree as 5.3.0. Oh, there are probably still some bugs lurking in all that new code. Have a nice friday 13th, JanReceived on 1999-08-13 22:28:47