User-Visible OpenAFS Changes
+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.
+
+ * Don't stop Rx keepalives after an ackall is received, avoiding
+ spurious connection timeouts. (128848)
+
+ * Don't retry Rx calls on channels returning busy errors and improve
+ Rx busy call channel error handling. (128671)
+
+ * 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.
+
+ * Revert UUID support in vos.
+
+ * pt_util fixed to properly create new databases.
+
+ * 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.5 release
+ fileservers is recommended.
+
+ * Fix ptserver supergroups support on 64 bit platforms.
+
+ * Demand attach salvaging doesn't use freed volume pointers.
+
+ * Properly hold host lock during host enumeration in fileserver.
+
+ * Attempt to recovery more quickly from timed out volume release
+ transactions.
+
+ * Auditing now properly byte order swaps IP addresses when printing.
+
+ * vos split now has improved error handling.
+
+ * Many changes to again support Windows fileservers.
+
+ * During volume removal, data removal speed improved.
+
+ * Improve CPU utilization during volume attaching by DAFS.
+
+ * In salvager check-only mode, avoid potentially fixing a vnode.
+
+ * Fix support for large (greater than 2gb) volume special files.
+
+ * Salvager will not crash if multiple or bad volume link tables are
+ encountered.
+
+ * Avoid erroneous full dump by remembering which sites were out of
+ date at the start of the release.
+
+ * A deleted volume can now be recreated properly.
+
+ * Callbacks are again not broken during whole partition salvages.
+
+ * Positional vectored IO fixed for largefile (>2GB) capable systems.
+
+ * Fileserver per-client thread usage again properly enforced.
+
+ * Anonymous dropbox support improved and drawbacks documented.
+
+ * Demand attach: ensure vnodes are not reallocated while in use due to
+ volume bitmap errors.
+
+ * Properly support large volume numbers (larger than 2147483647).
+
+ * Allow salvager to be run manually again when DAFS is being
+ used. (129458)
+
+ * 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)
+
+ * AFS Explorer Shell Extension now works from folder backgrounds.
+ Overlays for mount points and symlinks are present in the dll, but
+ are not registered at present by the installers.
+
+ * Do not use RankServerInterval registry value as the value for
+ PerformanceTuningInterval.
+
+ * When the data version of a mountpoint or symlink changes, the target
+ string in the cm_scache_t object must be cleared.
+
+ * "fs checkservers" now includes vldb servers in the output and only
+ lists multi-homed servers once. A multi-homed server that has at
+ least one up interface is no longer considered to be down.
+
+ * When asynchronously storing dirty data buffers to the file server
+ ensure that (a) the cm_scache_t object and the cm_buf_t object are
+ for the same File ID so that locking and signalling work properly;
+ and (b) if the FID no longer exists on the file server, do not
+ panic, just discard the buffer.
+
+ * When processing VNOVOL, VMOVED and VOFFLINE errors perform server
+ comparisons by UUID or address and not simply by cm_server_t
+ pointer. Otherwise, server failover may not succeed.
+
+ * Do not preserve status information for cm_scache_t objects when the
+ issuing server is multi-homed.
+
+ * Giving up all callbacks when shutting down or suspending the machine
+ is now significantly faster due to the use of an rx_multi
+ implementation. (This functionality is still off by default and
+ must be activated by a registry value.)
+
+ * Race conditions were possible when updating the state of the
+ cm_volume_t flags and when moving the volumes within the least
+ recently used list.
+
+ * Ensure that the lanahelper library does not perform a NCBRESET of
+ each lan adapter when enumerating the current network bindings.
+ Correcting this permits OpenAFS to work on Windows 7 when the
+ network adapter settings change.
+
+ * Fix creation of mount points and symlinks as \\AFS\xxxx
+
+ * Icon tray state now conditionally set. (128591)
+
+ * Properly create new cell mount points in freelance mode.
+
+ * 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.
+
+ * In-use vcache count is now properly tracked.
+
+ * Check for /afs existance before starting, unless -nomount is
+ specified.
+
+ * Avoid a potential panic when using /afs/.:mount syntax.
+
+ * Avoid a panic in memcache mode due to missing CellItems file.
+
+ * 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.
+
+ * Support for 7.2, 7.3, 7.4 and 8.2 included.
+
+ * References to vcaches are no longer leaked during root or reclaim.
+
+ * Remove support for "Giant" lock as we no longer need to use it.
+
+ * Don't sleep with AFS GLOCK.
+
+ * Properly enable 64 bit long long support.
+
+ * Restore support for FreeBSD 7 (128612)
+
+ * Fix locking issues at shutdown and avoid panic at shutdown due to
+ vcache flushing.
+
+ * Support for virtual network stacks.
+
+ * New RC script, updated packaging.
+
+ IRIX
+
+ * Properly create new vnodes to avoid crashing in the client.
+
+ Linux
+
+ * 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.
+
+ * Properly handle 0-length replies during cache bypass operations.
+
+ * Properly handle non-contiguous readpage cache bypass operations.
+
+ * Do proper locking when transitioning to or from cache bypass.
+
+ * Avoid extra runs of vcache freeing routine. (128756)
+
+ * 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.
+
+ * 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.
+
+ * Disable "get tokens at login" in prefs pane if AD authentication
+ plugin is configured.
+
+ * aklog AuthorizationPlugin now provided.
+
+ * Preferences Pane behavior fixed for 1.6 series (version detection is
+ used to select default behavior).
+
+ * A potential kernel panic during bulkstat operations is
+ fixed. (128511)
+
+ * 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.
+
+ * Support through OpenBSD 4.8.
+
+ Solaris
+
+ * Switch to ioctl() syscall replacement for Solaris 11 since syscall
+ 65 is not safe.
+
+ * Fix support for Solaris pre-10.
+
+ * Corrected Solaris 11 startup script.
+
+ * vcache mappings freed on shutdown to avoid panic.
+
+ * 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)
+
+ All platforms
+
+ * Revisions to Rx to fix performance issues.
+
+ * Make fs getfid behave consistently across all platforms. (128372)
+
+ * Properly check IDs handed to pts when creating users or groups so
+ useful error messages can be provided. (128343)
+
+ * Correct byte order handling of port in afsconf_LookupServer for SRV
+ records.
+
+ * Force a full dump when releasing to a site which was previously
+ marked "don't use", in case the previous clone was out of date.
+
+ All server platforms
+
+ * Demand salvage of attached volumes now correctly track attachment
+ state.
+
+ * Avoid a potential crash due to failure to hold a lock when attaching
+ a volume fails.
+
+ Microsoft Windows
+
+ * Track SMB connections by SID rather than username.
+
+ * Error write attempts to known-readonly volumes earlier.
+
+ * Validate directory buffers to avoid potential crashes.
+
+ * Handle VIO errors from bulkstatus.
+
+ * Make PMTU discovery configurable and register error handlers for it.
+
+ All UNIX client platforms
+
+ * Use larger I/O sizes in memcache to improve performance.
+
+ * Avoid potential alignment issues doing I/O for pioctl calls.
+
+ FreeBSD
+
+ * Avoid panicing if the listener process is not findable.
+
+ * Avoid deadlock issues while performing lookups.
+
+ Linux
+
+ * Handle stale file handle errors for some cache partition types.
+
+ * Avoid blocking with xvcache lock when attempting to free in-use
+ vcaches.
+
+ * Build fixes for older kernels.
+
+ * Properly configure LWP to use ucontext() on platforms where it
+ should.
+
+ * Eliminate spurious errors from AFS system call returns. (126230)
+
+ MacOS
+
+ * Attempt to honor configured Kerberos defaults in Preferences Pane.
+
+
+OpenAFS 1.5.77 (2010-09-08)
+
+ All platforms
+
+ * Rx path MTU detection will terminate detection in cases where the
+ minimum required packet size cannot be transferred.
+
+ * vos dryrun mode now shows effects for syncvldb single volume case.
+
+ * vos dryrun mode now shows "status after" for syncvldb and syncserv.
+
+ All server platforms
+
+ * RXAFS_GetStatistics64 now returns statistics properly.
+
+ Microsoft Windows
+
+ * Attempt to properly identify the local system SMB connection for
+ token tracking.
+
+ * Remap timeout and offline errors to proper NT RPC errors.
+
+ * Properly fail over to other replicas on bulkstat IO errors.
+
+ * Properly error delete-mode createfile if a file is set readonly.
+
+ * Validate directory entry buffers to avoid crashing the service.
+
+ * Log file modes properly.
+
+ * Log cell name when logging server information.
+
+ All UNIX client platforms
+
+ * cacheout program for discarding callbacks is now built.
+
+ * bulkstatus kernel locking is corrected to avoid a potential panic.
+
+ Dragonfly BSD
+
+ * userspace support update
+
+ FreeBSD
+
+ * Updated vnode locking for children returned via lookup().
+
+ * Avoid file open undercount with needed calls to
+ FakeOpen/FakeClose().
+
+ * Use vnode_pager_setsize to properly track file size during kernel
+ IO.
+
+ * Update system call installation.
+
+ * Fix shutdown of Rx kernel listener to avoid potential dereference
+ after it's gone.
+
+ * Avoid closing vnodes during vnode recycle.
+
+ * Fix bogus call to FlushVS for vnode reclaims.
+
+ Linux
+
+ * Packaging updated for current configure options and built files.
+
+ * Cache bypass now holds reference on pages during readpage.
+
+ * s390x setgroups32 patching update.
+
+ MacOS
+
+ * DNS resolver is reinitialized on IP address change. (126440)
+
+
+OpenAFS 1.5.76 (2010-08-16)
+
+ All platforms
+
+ * Updates to build-time configuration.
+
+ * Fix XDR support in Rx to match header definition.
+
+ * vos status now shows transaction creation, not action creation.
+
+ * Rx avoids reporting loopback adapters when listing interfaces.
+
+ All server platforms
+
+ * Demand-Attach Fileserver always built and installed (dafileserver,
+ davolserver, dasalvager).
+
+ * Return VNOVOL from fileserver when a volume is deleted.
+
+ * Ignore duplicate tags during volume restore operation.
+
+ * Update inode array after salvage repairs volume.
+
+ * Zero a corrupted header in memory during salvage to avoid further
+ corruption.
+
+ * Fix NAMEI backend to allow low-numbered volumes to work properly.
+
+ * ptserver does not include cell name as part of length check for
+ names.
+
+ * Updated error messages for unblessed volumes.
+
+ * vlserver avoids buffer overflow with regex pattern
+
+ * Attach-time failures now note failures as the rest of the fileserver
+ would.
+
+ * Server argument logging will no longer overflow stack.
+
+ * Provide fast-restart-like unsafe-nosalvage option for DAFS.
+
+ * Deal with host hash collisions in the fileserver.
+
+ Microsoft Windows
+
+ * Avoid crashing when interpreting a drive letter as potentially
+ matching a cell name.
+
+ * Properly handle volume package errors.
+
+ * Allow page recycling from known-readonly content without ensuring
+ they are not dirty.
+
+ * 32 bit tools installer should not override client configuration.
+
+ * Ensure root scache item has a valid callback when use is attempted.
+
+ * Freelance directory changes now properly invalidate and replace the
+ old root object.
+
+ All UNIX client platforms
+
+ * Support disconnected reconnecting with specified UID for PAGless
+ platforms.
+
+ * Proper disconnected vnode reference tracking.
+
+ * Update server site blacklisting to not return success if nothing was
+ blacklisted.
+
+ * Avoid a panic during vcache contention due to CVInit vcache
+ racing. (127645)
+
+ FreeBSD
+
+ * Update for network stack in 8.1/9.0.
+
+ HP-UX
+
+ * Bug fixes.
+
+ Linux
+
+ * 2.6.36 support
+
+ * Disable PMTU error packet handling.
+
+ * flock() fixes.
+
+ * Debian packaging updated.
+
+ * freezer interface updates.
+
+ MacOS
+
+ * Hold references to disconnected mode written vnodes properly.
+
+ Solaris
+
+ * Handle NFS translator module references for amd64.
+
+ * INODE fileserver backend support now exists for amd64.
+
+
OpenAFS 1.5.75 (2010-07-07)
All platforms