User-Visible OpenAFS Changes
-OpenAFS 1.6.0 (in progress)
+OpenAFS 1.6.0 (2011-08-15)
All platforms
+ * Substantial Rx updates to correct erroneous behavior.
+
* vos now properly deals with matching sites when servers are
multihomed.
* Properly enable Rx connection hard timeouts.
+ * Rx NAT pings are not enabled until peer has answered.
+
* Initialize rx_multi lock before use.
* Avoid spurious crashes when initializing in "backup" client.
* MTU discovery now properly shut down on call reset.
+ * Avoid leaking references to hosts during callback break multi-Rx
+ operations. (129376)
+
+ * xstat tools now cope with differing timeval structures between
+ endpoints.
+
+ * Numerous fixes to command argument parsing.
+
* Documentation updates.
All server platforms
* A file descriptor leak which could result in corrupted files in the
- fileserver was fixed. An IMMEDIATE upgrade from previous 1.6 release
- candidates as well as 1.5 release fileserver is recommended.
+ fileserver was fixed. An IMMEDIATE upgrade from previous 1.5 release
+ fileservers is recommended.
* Fix ptserver supergroups support on 64 bit platforms.
* Allow salvager to be run manually again when DAFS is being
used. (129458)
- Microsoft Windows:
+ * Avoid leaking references to hosts during callback break multi-Rx
+ operations. (129376)
+
+ * Demand attach: unlink fileserver state file on standalone salvage.
+
+ * Salvager tries harder to detect linktable issues.
+
+ * Demand attach: don't attach volumes with special status set.
+
+ * Avoid crashing on host table exhaustion. Instead, defer clients.
+
+ Microsoft Windows
* afs_config will not longer set the Tray Icon State in the registry
if the checkbox is not present in the dialog. (128591)
* Avoid recursive offline volume checks.
+ * Fix caching of non-existent volumes. The test to trigger an
+ immediate CM_ERROR_NOSUCHVOLUME in cm_UpdateVolumeLocation() was
+ backwards.
+
+ * Prevent the background daemon from checking the status of
+ non-existent volumes. cm_CheckOfflineVolumes() should skip volume
+ groups with the CM_VOLUMEFLAG_NOEXIST flag set.
+
+ * The afskfw library should return an error immediately if the
+ krb5_32.dll library cannot be loaded. Affects afslogon.dll and
+ afscreds.exe.
+
+ * No longer depend on leashw32.dll in afskfw library.
+
+ * NPLogonNotify must provide the user password in all calls to
+ KFW_AFS_get_cred(). It cannot count on a credential cache being
+ preserved between calls. Permits tokens to be acquired for all
+ cells listed in the TheseCells registry value for a domain.
+
+ * Improve the trace logging from NPLogonNotify().
+
+ * Avoid a race when writing the cm_scache_t mountPointString
+ when acquiring mount point or symlink target data via
+ cm_GetData(). The race could result in bogus target
+ data being cached.
+
+ * Permit the use of des-cbc-md5 and des-cbc-md4 enctypes
+ as DES keys in asetkey.exe.
+
+ * aklog supports dotted Kerberos v5 principal names.
+
+ * afskfw library always attempts afs/cell@USER-REALM
+
+ * afskfw library must test return code from krb5_cc_start_seq_get() or
+ will trigger a null pointer exception when using Heimdal.
+
+ * Lock protected fields must be 32-bit in order to avoid memory
+ overwrite races.
+
+ * Add support for NTFS symlinks.
+
+ * Handle file search requests for virtual syscall ioctl file.
+
+ * Process SyncOps properly to enforce ordered operations.
+
+ * Avoid recursing during NewServer operations.
+
+ * Correct lock acquisition order during SMB locking.
+
+ * Add shutdown message to event log.
+
+ * Check offline volume status by policy rather than on each daemon
+ thread run.
+
+ * Return error on directory object not found instead of crashing.
+
+ * Improve error message output.
+
+ * afslogin.dll can start afsd_service if it's not starting or started.
+
+ * Optimize away release lock RPCs for deleted files.
+
+ * Background Daemon will not perform operations on deleted files.
+
+ * Resort recently used directories to the top of the LRU if the
+ directory is larger than the stat cache.
+
+ * Resort deleted objects to the bottom of the LRU.
+
+ * Use interlocked operations for state and queue fields to allow safe
+ bit set and clear on multiprocessor systems.
+
All UNIX client platforms
* Servers now marked down when GetCapabilities returns error.
* FUSE client support fixed for non-/afs mounts.
+ * Avoid a potential deadlock (which times out) when we need to
+ allocate more callback returns and must flush some already in use.
+
+ * Deal with libcom_err conflicts with other packages using it
+ (e.g. krb5) (128640)
+
+ * Fall back to afs3-vlserver SRV record values when afs3-ptserver SRV
+ record is not available.
+
+ * Avoid holding unneeded locks when probing server capabilties.
+
+ * Do not attempt page flushes for directories.
+
+ * Rx connection reference counting is enabled.
+
+ * An Rx connection reference count leak is fixed in bulkstat.
+
+ * Handle unparsable directory objects.
+
+ * Handle Kerberos cred cache errors in aklog.
+
+ AIX
+
+ * Fix PAG usage to track by PAG identifier, not group list.
+
FreeBSD
* Fix socket termination on shutdown.
* Restore support for FreeBSD 7 (128612)
- * Fix locking issues at shutdown.
+ * Fix locking issues at shutdown and avoid panic at shutdown due to
+ vcache flushing.
+
+ * Support for virtual network stacks.
* New RC script, updated packaging.
- Linux
+ IRIX
- * Support through kernel 2.6.38.
+ * Properly create new vnodes to avoid crashing in the client.
- * Red Hat init script allows deferring for a new binary restart.
+ Linux
- * Red Hat packaging now properly supports RHEL6.
+ * Support through kernel 2.6.39. Treat Linux 3.0 as Linux 2.6 for
+ sysname purposes.
* Use rx_Readv in cache bypass to improve performance.
* Perform vcache eviction via a fast path before visiting vcaches
where sleep is needed.
+ * setpag() errors are now properly reported.
+
+ * Avoid attempting to free stat cache entries when we are below
+ user-specified number of entries in use.
+
+ * Properly track user-specified number of stat cache entries to use as
+ a desired usage target.
+
+ * Don't read pages beyond EOF in the cache. (128452)
+
+ * Various corrections and improvements to Red Hat packaging, including
+ modifying the init script to allow deferring for a new binary
+ restart and properly supporting RHEL6.
+
+ * Fix lockup in 2.6.38 due to erroneous kernel feature configure test.
+
* Improve RPM building tools.
- * setpag() errors are now properly reported.
+ * Attempt to properly handle SELinux in packaging.
+
+ * Init script properly returns status as exit code.
+
+ * RPM packaging fixes (executable libraries, no postinstall message)
+
+ * Kill i386 from RPM packaging.
MacOS
+ * MacOS 10.7 support.
+
* Properly handle setpag errors. PAGs are not supported.
* Check for unloaded kernel extensions when decoding AFS panics.
* 64-bit MacOS kernel performance is greatly improved. (128934)
+ * Properly shut down AFS, closing the Rx socket in the upcall handler
+ to avoid attempting to process data after we can no longer do so.
+
+ * Rework logic for bulk status operations to avoid a potential hang.
+
+ * Avoid panic when doing FSEvent synthesis.
+
+ * Fix bug when using non-dynroot.
+
+ * Update Kerberos support in PreferencesPane.
+
+ NetBSD
+
+ * Updates for platform support.
+
OpenBSD
* Bug fixes for issues introduced previously in 1.5 series.
* Properly report errors for AFS system call callers.
+ * Don't leave dangling function references if kernel extension fails
+ to load.
+
+ * Try harder to avoid deadlocks on file-larger-than-cache operations.
+
+ * Avoid panic on shutdown when mount failed.
+
OpenAFS 1.5.78 (2010-11-04)