Subject: CVS commit: pkgsrc/filesystems/openafs
From: Jonathan A. Kollasch
Date: 2012-12-01 16:22:32
Message id: 20121201152232.EB1F6175DD@cvs.netbsd.org

Log Message:
Update OpenAFS to 1.6.1.

Upstream release notes for 1.6.0 and 1.6.1:

            OpenAFS Release Notes - Version 1.6.1
     _________________________________________________________________
All server platforms: Critical bugfixes.
All systems: Major bugfixes.
     _________________________________________________________________

Sites running 1.6.0 fileserver are urged to update immediately to
avoid data loss.

Sites running 1.6.0 UNIX clients are urged to update immediately to
avoid excess network traffic.

All platforms:

- Updated idle dead handling to avoid issues with retrying
  calls which could succeed but error and then error on a retry.

- libafscp updates.

- uafs userspace cache manager updates.

All server platforms:

- A bug which can lose data on a fileserver for volumes which are
replicated or backed up has been fixed. Sites running 1.6.0 are urged to
upgrade immediately! (130295)

- Fix salvaging of volumes with large numeric IDs.

- Further correct tracking of alternate and changed addresses in
  the fileserver.

- Do not perform Rx keepalives during disk IO to allow timeouts
  to occur in event IO cannot complete.

- Properly associate link tables recreated during salvage with the volume
  group ID.

- Demand attach: better error handling during volume attachment.

- Confirm vnode lengths are as expected during fileserver operations.

- Demand attach: better handling of volumes being passed for salvage
  and being returned from salvage.

- Conditions which cause a restored volume to immediately need salvage
  are now properly tracked.

- Bosserver properly honors rxbind mode.

- Ensure salvager returns volumes to fileserver even when
  no applicable vnodes are found.

- DAFS: perform additional verification of data restored about
  clients and callbacks.

All UNIX platforms:

- Correct handling of server NAT pings to avoid unnecessary growth of
  NAT ping traffic.

- Fix hard mount retry behavior to retry all servers.

- Several lock order inversions which could deadlock fixed.

- Handle issues updating mtab.

- Fix fs setserverprefs to work again for DB servers.

FreeBSD:

- Track kernel API changes for 9.0

Linux:

- Support for kernel versions through 3.4.

- Avoid potential panic due to an error being returned as a positive
  number when doing inode operations.

- Fix vcache lock ordering during readdir.

- Updated RPM packaging.

- Updated dkms support.

- Updated systemd support.

MacOS:

- Fix panic at shutdown due to not stopping network listener.

- Updated Kerberos support for additional issues in Lion.

NetBSD:

- Updated support for 5.0 userspace binaries.

- Add support for 6.0.

Solaris:

- Avoid panic on shutdown when mount failed.

- Disable SSE instructions when compiling to avoid panics on non-SSE hosts.

Windows:

- Properly handle VNOSERVICE, which indicates a fileserver has
  done an idle timeout of a call.

- Improved tracking of volume groups.

- Do not recycle buffers in the current file if they are in the active chunk
  and up to date.

- Support Windows 7 Advanced Firewall.

- Default to maximum 2 CPUs unless registry overrides.

- Failover and retry for VBUSY.

- Properly fetch unix mode when requested.

            OpenAFS Release Notes - Version 1.6.0
     _________________________________________________________________
All UNIX systems: Security bugfixes.
All systems: Major bugfixes.
     _________________________________________________________________

All platforms:

- Rx NAT pings are not enabled until peer has answered.

- Numerous fixes to command argument parsing.

All server platforms:

- Avoid crashing on host table exhaustion. Instead, defer clients.

All UNIX platforms:

- 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.

Linux:

- Init script properly returns status as exit code.

- RPM packaging fixes (executable libraries, no postinstall message)

- Kill i386 from RPM packaging.

MacOS:

- Fix 32 bit Lion client support.

- Avoid panic when doing FSEvent synthesis.

- Fix bug when using non-dynroot.

- Update Kerberos support in PreferencesPane.

Solaris:

- Avoid panic on shutdown when mount failed.

Windows:

- 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.

CHANGES IN 1.6.0PRE7

All platforms:

- Substantial Rx updates to correct erroneous behavior.

- Salvager tries harder to detect linktable issues.

- Additional documentation.

- xstat tools now cope with differing timeval structures between endpoints.

All UNIX platforms:

- New build targets to make distribution tarfiles (make dist) and
  srpms (srpm).

Demand Attach Fileserver platforms:

- Don't attach volumes with special status set.

FreeBSD:

- Avoid panic at shutdown due to vcache flushing.

- Support virtual network stacks.

Linux:

- Treat Linux 3.0 as Linux 2.6 for sysname purposes.

- Attempt to properly handle SELinux in packaging.

MacOS:

- MacOS 10.7 support.

Solaris:

- Try harder to avoid deadlocks on file-larger-than-cache operations.

Windows:

- 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.

CHANGES IN 1.6.0PRE6

All UNIX platforms:

- 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.

Demand Attach Fileserver platforms:

- Unlink fileserver state file on standalone salvage.

FreeBSD:

- Support for virtual network stacks.

Linux:

- Further corrections to Redhat packaging.

- Avoid showing files larger than one cache chunk size as full of NULLs.
  (129880) This bug was in unissued pre5 only, not in pre4.

- Fix lockup in 2.6.38 due to erroneous kernel feature configure test.

MacOS:

- Rework logic for bulk status operations to avoid a potential hang.

Solaris:

- Don't leave dangling function references if kernel extension fails to load.

Windows:

- 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.

CHANGES IN 1.6.0PRE5

All server platforms:

- Avoid leaking references to hosts during callback break multi-Rx
  operations. (129376)

All UNIX platforms:

- 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)

AIX:

- Fix PAG usage to track by PAG identifier, not group list.

Irix:

- Properly create new vnodes to avoid crashing in the client.

Linux:

- Support 2.6.39.

- 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)

MacOS:

- 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.

NetBSD:

- Updates for platform support.

Windows:

- 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.

CHANGES IN 1.6.0PRE4

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
  SUGGESTED!

- Properly support large volume numbers (larger than 2147483647).

All platforms:

- Documentation updates.

Demand Attach Fileserver platforms:

- Allow salvager to be run manually again when DAFS is being used. (129458)

FreeBSD:

- New RC script, updated packaging.

Linux:

- Improve RPM building tools.

- setpag() errors are now properly reported.

MacOS:

- 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)

Solaris:

- Properly report errors for AFS system call callers.

Windows:

- Properly create new cell mount points in freelance mode.

- Avoid recursive offline volume checks.

CHANGES IN 1.6.0PRE3

All platforms:

- Revert UUID support in vos.

- pt_util fixed to properly create new databases.

- Rx busy call channel error handling improved.

- MTU discovery now properly shut down on call reset.

- FUSE client support fixed for non-/afs mounts.

All server platforms:

- 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 Fileserver platforms:

- Ensure vnodes are not reallocated while in use due to volume
  bitmap errors.

Linux:

- Perform vcache eviction via a fast path before visiting vcaches
  where sleep is needed.

MacOS:

- aklog AuthorizationPlugin now provided.

Solaris:

- Corrected Solaris 11 startup script.

- vcache mappings freed on shutdown to avoid panic.

Windows:

- icon tray state now conditionally set (128591)

CHANGES IN 1.6.0PRE2

All platforms:

- Documentation updates.

- 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. (128671)

- vos will not die with a double free error at command completion.

- Properly enable Rx connection hard timeouts.

- Initialize rx_multi lock before use.

- Avoid spurious crashes when initializing in "backup" client.

All unix platforms:

- 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.

All server platforms:

- 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.

FreeBSD:

- 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.

Linux:

- support through kernel 2.6.38.

- RedHat packaging now properly supports RHEL6.

- 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)

MacOS:

- Check for unloaded kernel extensions when decoding AFS panics.

- Properly handle setpag errors. PAGs are not supported.

- Disable "get tokens at login" in prefs pane if AD authentication
  plugin is configured.

OpenBSD:

- support through OpenBSD 4.8.

Solaris:

- Fix support for Solaris pre-10.

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

PREVIOUS CHANGES:

All platforms:

- vos now properly deals with matching sites when servers are multihomed.

All Unix platforms:

- Servers now marked down when GetCapabilities returns error.

- In-use vcache count is now properly tracked.

All server platforms:

- 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.

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.

Linux:

- Define llseek handler to avoid ESPIPE error in 2.6.37.

- Mount interface replaces get_sb (new for 2.6.37, not yet required).

- RedHat init script allows deferring for a new binary restart.

- DEFINE_MUTEX replaces DECLARE_MUTEX for 2.6.37.

MacOS:

- Correct return value from setpag syscall.

OpenBSD:

- Bug fixes for issues introduced previously in 1.5 series.

Solaris:

- Switch to ioctl() syscall replacement for Solaris 11 since syscall 65
  is not safe.

Files:
RevisionActionfile
1.3modifypkgsrc/filesystems/openafs/Makefile
1.2modifypkgsrc/filesystems/openafs/PLIST
1.3modifypkgsrc/filesystems/openafs/distinfo
1.2modifypkgsrc/filesystems/openafs/patches/patch-src_comerr_Makefile.in
1.1addpkgsrc/filesystems/openafs/patches/patch-Makefile.in
1.1addpkgsrc/filesystems/openafs/patches/patch-src_aklog_aklog.c
1.1addpkgsrc/filesystems/openafs/patches/patch-src_config_param.nbsd60.h
1.1addpkgsrc/filesystems/openafs/patches/patch-src_util_softsig.c
1.2removepkgsrc/filesystems/openafs/patches/patch-aa
1.1removepkgsrc/filesystems/openafs/patches/patch-src_afsd_afsd.c
1.1removepkgsrc/filesystems/openafs/patches/patch-src_config_afs__sysnames.h
1.1removepkgsrc/filesystems/openafs/patches/patch-src_config_param.nbsd30.h
1.1removepkgsrc/filesystems/openafs/patches/patch-src_config_param.nbsd40.h