commit 294164aa4d4cd6e2c5fc993c39d3155254a6d54e
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Oct 9 11:05:27 2013 +0200

    Make OpenAFS 1.6.6
    
    Update version strings for 1.6.6
    
    Change-Id: I52c88bc22d4f058a32c34e8690385b1cf116c7d6
    Reviewed-on: http://gerrit.openafs.org/10330
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 01514413c344cf630425f92b5528f58711183f10
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jan 16 12:17:51 2014 +0100

    Update NEWS for 1.6.6
    
    Finalize the release notes for OpenAFS 1.6.6
    
    Change-Id: I9e86a1675d79a828beb39932d4cbf4e0668e549e
    Reviewed-on: http://gerrit.openafs.org/10714
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 93601b05f8a4007ce4504079ce35b4e1f42232ea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 23 16:10:45 2013 -0500

    RedHat: Fix specfile changelog
    
    Oct 29 2007 was a Monday, not a Tuesday. rpmbuild does actually yell
    at us about this, so fix this so it will shut up.
    
    Reviewed-on: http://gerrit.openafs.org/10621
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    (cherry picked from commit 16d8ab09bd9a0bd75319e6c32afb8bc2c5c04e51)
    
    Change-Id: Idec96a6dc1e14eef90b11f02799dff28bcbc2d24
    Reviewed-on: http://gerrit.openafs.org/10704
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1855e00980916aafac6c629e91fde1761c7680bb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 26 12:56:37 2013 -0500

    Fedora: Handle new kernel variant paths
    
    With Fedora 20, Fedora now separates the variant from the rest of the
    kernel version with a plus (+) instead of a period (.) . This results
    in directories called e.g. 3.12.5-302.fc20.i686+PAE, where right now
    we look for 3.12.5-302.fc20.i686.PAE.
    
    Use this new directory scheme for Fedora 20 builds, so we can build
    against non-default kernel variants on Fedora 20 and beyond.
    
    Reviewed-on: http://gerrit.openafs.org/10620
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    (cherry picked from commit 837ec9dd41c4b1e10ad9d32a52b0f34dd665026a)
    
    Change-Id: I513ab231a9d7b61ec7790eb99a27da698a355f17
    Reviewed-on: http://gerrit.openafs.org/10622
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fb499d5b2f727d196f4cd4c300a26b4baf394e8e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 23 13:32:28 2013 -0500

    RedHat: Munge future kernel versions
    
    We currently look for "fc1?" (that is, fc10 through fc19) when trying
    to munge the kernel version in some ways. This broke on Fedora 20,
    since 20 obviously does not match "fc1?". Similarly, we look
    specifically for "el6" for RHEL6 versioning quirks, but these will
    break on RHEL7 and beyond.
    
    Change the version checks so that this will work all the way through
    Fedora 99 and RHEL 9. That won't work forever, but it will keep us
    working for a few versions if the versioning quirks do not change.
    
    Reviewed-on: http://gerrit.openafs.org/10618
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    (cherry picked from commit cddc732ec5fd40c94126e5f0b7103136592a2efe)
    
    Change-Id: I439cd3101ea360b775c638cd67961fc0e4ffcaf6
    Reviewed-on: http://gerrit.openafs.org/10619
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f101a0ab400ad8ed4359f4b2649d9998df16a042
Author: Arne Wiebalck <Arne.Wiebalck@cern.ch>
Date:   Fri Jul 12 11:39:53 2013 +0200

    RedHat: support building on ELRepo kernels
    
    Amend the pattern matching in openafs-kmodtool to support
    building for kernels from ELRepo.
    
    Reviewed-on: http://gerrit.openafs.org/10083
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 397a086b77c4351e5332a73ae4859faf239bf45e)
    
    Change-Id: I0f1a7126271cb7952e4369af3c93484c4b0567d0
    Reviewed-on: http://gerrit.openafs.org/10703
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 75046632f402c050328643220b5b44e8d545c34e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 17 17:27:53 2013 -0600

    rx: Remove obsolete comment
    
    This comment refers to the fact that we used to be just checking for
    SELinux to see if we should pass that extra argument. Ever since
    commit cb1b41b159b98881f66319d7f65d941ba9fab911, we do have a better
    test for this.
    
    Reviewed-on: http://gerrit.openafs.org/10593
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 2ed7023b26acb3277e42eac803a0702b95167e6e)
    
    Change-Id: I5a8ebcda7fcb85931638ab0bec807b1da8ebed3f
    Reviewed-on: http://gerrit.openafs.org/10597
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e94e39bf226fad30e17ea4ff4ea746522c7de11a
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Dec 18 10:11:48 2013 +0100

    doc: fix a nit in fs_newalias.pod
    
    The CAUTIONS section is about fs newalias, not fs newcell.
    
    Reviewed-on: http://gerrit.openafs.org/10595
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 8b8e8c2ab1974ba4c14942cc7bd94aac8602192f)
    
    Change-Id: Ie800b600f85f17362d92ce51ee55de3f24a3361e
    Reviewed-on: http://gerrit.openafs.org/10601
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7df02ff8915f6fe1d611a57836853b896b0f46be
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 15 09:47:49 2014 -0600

    Revert "viced: Enable NAT ping on hosts"
    
    This reverts commit 53005f4fe7b6df5263d399f0aec9fee3078e39bc.
    
    The fileserver-side "NAT ping" behavior has yet to be proven to be helpful in
    situations with NATs. If the behavior is not helpful, this generates
    potentially a significant amount of extra useless traffic.  So until it can be
    shown to what degree this is helpful, keep this behavior out of the fileserver.
    
    Change-Id: I783222e1be166920445175fe09680cd4968c2810
    Reviewed-on: http://gerrit.openafs.org/10135
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7ad192baf5a1b1ce18b57562b02e74be2bbb73c7
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Oct 17 13:51:29 2013 +0200

    Make OpenAFS 1.6.6pre2
    
    prerelease for 1.6.6
    
    Change-Id: I51010e70d1a9377f7a82d48798dc2b439e5bb4f5
    Reviewed-on: http://gerrit.openafs.org/10344
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3a3736574f48330aeaa8e80863522edcd578acc6
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Thu Dec 5 10:00:42 2013 +0100

    Linux: fix whitespace issue
    
    introduced in Change I1e84969b. It does not
    follow the overall style.
    
    Reviewed-on: http://gerrit.openafs.org/10529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit faf14be3827fa72914a1c792c9a99a3353717ded)
    
    Change-Id: Id98b222c20acd985c753e5f5c9acabf235cb7975
    Reviewed-on: http://gerrit.openafs.org/10544
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d68e6c24f53b6878733e28909e23e44a0fdfae1d
Author: Jeff Layton <jlayton@redhat.com>
Date:   Fri Dec 6 13:34:04 2013 -0500

    Linux: stop trying to use getname/putname
    
    The current code has afs_putname defined as
    
        kmem_cache_free (names_cachep, (void *) name);
    
    This is wrong and will cause a double -free when syscall auditing is
    enabled. Fix it to call putname properly.
    
    Instead of that, just create a new afs_getname function that doesn't
    bother with struct filename at all, and use that unconditionally.
    
    Signed-off-by:Jeff Layton <jlayton@redhat.com>
    
    Reviewed-on: http://gerrit.openafs.org/10547
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeff Layton <jlayton@poochiereds.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit d40ed7391670010db0df2202d770341b2ca82f32)
    
    Change-Id: I860366b5ad3ce43cbade0ddfb8bed5ba5e7908a8
    Reviewed-on: http://gerrit.openafs.org/10578
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d6b6cd5a170f650fcbffcbb8f6bd9a54852ebabb
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Dec 18 15:26:59 2013 +0100

    Update NEWS for 1.6.6pre2
    
    release notes for OpenAFS 1.6.6 prerelease 2
    
    Change-Id: Id829b60e82d56d11ebfb454595518d9585ca63fe
    Reviewed-on: http://gerrit.openafs.org/10596
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 77826dd3eeb5355834e073553462856df64b9e81
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Thu Dec 5 13:53:56 2013 -0500

    Packaging support for MacOS X 10.9 "Mavericks".
    
    Based on work originally done by Matt Haught <dmhaught@ncsu.edu>.
    
    Reviewed-on: http://gerrit.openafs.org/10539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit cb53d255a6285c884c6a5ea9a20427327b1ab9b3)
    
    Change-Id: Ic537b46c7eb3f6b1e12a92ffbcffd5416a2a81d9
    Reviewed-on: http://gerrit.openafs.org/10542
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 33edca62271ed4c5e50e1990adfb9cc262d8468e
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Thu Dec 5 13:46:18 2013 -0500

    Add support for configuration of MacOS 10.9 "Mavericks".
    
    Based on work originally done by Matt Haught <dmhaught@ncsu.edu>
    
    Reviewed-on: http://gerrit.openafs.org/10538
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit aac384b2eda823519780afed84e53a868561711d)
    
    Change-Id: Ic15fefc11e7b2f1170cb5ff52a94c1d6aea499a7
    Reviewed-on: http://gerrit.openafs.org/10541
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e4b2242f3a29832e1df389ceea6ec4ca41c06306
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 26 17:42:38 2013 -0400

    Fix DARWIN build with clang
    
    In 1d8937b86050 we added a function call to kauth_cred_unref in the
    DARWIN100 case (replacing a macro), but added the inclusion of
    sys/kauth.h only when using versions older than DARWIN80.
    On DARWIN100 and above, clang detects that the now-implicit function
    declaration is in conflict with the actual prototype, which is included
    later through afs/sysincludes.h when compiling the kernel rx code.
    
    Since including sys/kauth.h seems to have been harmless for old versions,
    just include it always.
    
    Reviewed-on: http://gerrit.openafs.org/9676
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 6ad2cc0275cd1074316d6bc70cd8758d25f94467)
    
    Change-Id: I7e3bfdee65791828fe6ee68e3dc125be2311cd86
    Reviewed-on: http://gerrit.openafs.org/10549
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 931d1a8bea393ba3df69b163cb4d05c35f3c948e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:09:36 2012 +0100

    DARWIN: Make crfree() an inline function
    
    On Darwin 100, we have
       #define crfree(X) kauth_cred_unref(&X)
    which expands in one place to
       kauth_cred_unref(&(afs_ucred_t *)avc->linkData)
    
    clang warns about this in -Werror mode, because arguments to the
    address-of operator must be lvalues.
    
    To fix this make crfree an inline function, which will then let us do
    the indirection required.
    
    Reviewed-on: http://gerrit.openafs.org/7073
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 1d8937b860509fcaabb041bc14faf7aa3023f3c9)
    
    Change-Id: I869caa41884c33e6376d664a745efb0f8aa761d0
    Reviewed-on: http://gerrit.openafs.org/10548
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e54a0902fb4ed09d955a2cb9c3d091da28b8f21a
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Thu Dec 5 13:57:36 2013 -0500

    Remove extra whitespace from macro invocations
    
    On MacOS X 10.9, the compiler has switched to LLVM and as a consequence
    generates an error if there is a space between a macro invocation and
    the starting left parenthesis.
    
    Based on code originally done by Matt Haught <dmhaught@ncsu.edu>.
    
    Reviewed-on: http://gerrit.openafs.org/10540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit ce96143d79ea006f7b1318dd1c962d4c4f79fc1e)
    
    Change-Id: I0e1c2a27ea2dc85205e9fa267a804438aad77bfe
    Reviewed-on: http://gerrit.openafs.org/10543
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 192536d62b085bb14f54ffc958e6303810cca624
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Wed Nov 20 13:37:52 2013 -0500

    Support for changes to OS X Mavericks VNOP_SYMLINK() function.
    
    Add support for an extra argument to afs_symlink() to return the
    newly-created symlink vnode if requested (this is needed on OS X
    Mavericks).  On OS X Mavericks return the newly-created symlink vnode in
    the symlink vnops functions, on all other platforms ignore it.
    
    It turns out that technically OS X has required the symlink to be
    created for a while, but code inside of symlink() would call namei() on
    the symlink name if the returned vnode point was NULL.  The difference
    is that on Mavericks the Manditory Access Control Framework has been
    enabled, and that turns on some extra code which unconditionally calls
    vnode_mount() on the returned vnode pointer, which ends up causing a
    panic
    
    Reviewed-on: http://gerrit.openafs.org/10474
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 3f4c1099b7b2d1467b1f5b701ea2f953fec20dc0)
    
    Change-Id: Ib8bac6fd4ed8fe5c2e9567431f7d03fdab50cd50
    Reviewed-on: http://gerrit.openafs.org/10519
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a5611c2dffc58595d686d040b0f12c474a9d02c2
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Nov 21 15:01:29 2013 +0100

    Linux: Fix build for older kernels w/o bool
    
    Commit b7f4f2023b2b3e1aac46715176940fb50cc75265 broke builds against
    older kernels which don't have bool defined in linux/types.h . Fix
    this by using unsigned char instead of bool for the static inline
    functions.
    
    Reviewed-on: http://gerrit.openafs.org/10483
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 5b67620c7b3ad224ea53075e37ecf1f7e6a7c51a)
    
    Change-Id: Iccb8ca2625211b94b105c6eb60764f4a064b345a
    Reviewed-on: http://gerrit.openafs.org/10518
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 908b8a0ea5e72fd0e5c5b020e1f939b0491070b5
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Tue Nov 19 09:57:22 2013 +0100

    Linux: always include <linux/uidgid.h> headerfile
    
    when it is required. In some linux-kernels (like in SLES11 SP3)
    it is not done automatically and the compilation fails.
    
    Reviewed-on: http://gerrit.openafs.org/10471
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 779ab18bafdea3535b403ba62f3ec8a8b127748e)
    
    Change-Id: If5bc31e0cf09634f5d36bbe7757919b6f1dc310f
    Reviewed-on: http://gerrit.openafs.org/10472
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d294e9cea5bf7c8b748355537c2f423eb177b035
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Oct 17 13:48:26 2013 +0200

    Make OpenAFS 1.6.6pre1
    
    prerelease for 1.6.6
    
    Change-Id: I4d93c9937316f47f06727a81deefab253de46030
    Reviewed-on: http://gerrit.openafs.org/10343
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 047c9ba792ce52d33cb5fcb15d980aebedcb665e
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Oct 23 15:53:52 2013 +0200

    Update NEWS for 1.6.6
    
    release notes for OpenAFS 1.6.6
    
    Change-Id: Ifa9340d3c2e2a94f2d98adc85dec62022b9ea446
    Reviewed-on: http://gerrit.openafs.org/10359
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8f88530289297117b001d81843e3ac23564815d0
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Thu Nov 7 15:37:25 2013 -0500

    Linux: Get rid of !STRUCT_KEY_UID_IS_KUID_T case
    
    On the few kernel versions before struct key.uid was converted to
    kuid_t (v3.7-rc1~147^2~76), it was not possible to enable both
    CONFIG_KEYS and CONFIG_UIDGID_STRICT_TYPE_CHECKS, so this case was
    impossible.  That’s good, because it also had a typo in its
    implementation (and was confusing to deal with correctly).
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/10443
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d0a13fe678412464452afae9379d63fa48d41d83)
    
    Change-Id: I081115d13b6deb3b10e6da442bed7a7bb9347296
    Reviewed-on: http://gerrit.openafs.org/10458
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 30160ad6eec3c290a770b6069fc106f452e5b4ba
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Thu Oct 31 09:11:59 2013 -0400

    Linux: Fix build with CONFIG_UIDGID_STRICT_TYPE_CHECKS (user namespaces)
    
    With CONFIG_UIDGID_STRICT_TYPE_CHECKS (a dependency of user namespace
    support, CONFIG_USER_NS) turned on, uid_t and kuid_t are different
    types, as are gid_t and kgid_t, and we need to use namespace-dependent
    functions to convert between them.
    
    We can’t use init_user_ns as the namespace because it’s GPL-only, so
    instead we grab the current user_ns at module load time.
    
    This is required to support kernels with user namespace support.  We
    don’t yet have full support for independent AFS use by different users
    in a multiuser container; that will need to wait for future work.
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/10386
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit b7f4f2023b2b3e1aac46715176940fb50cc75265)
    
    Change-Id: I55fb7d4ccbed2b4381937270955b117244b80719
    Reviewed-on: http://gerrit.openafs.org/10457
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 70790f87b7b0ef3746c043a868c4306e05008ecd
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Nov 5 01:11:15 2013 -0500

    afs_linux_pag_from_groups: Stop checking for NOGROUP sentinel
    
    Linux hasn’t used NOGROUP as a sentinel like this since before kernel
    2.1.12, and OpenAFS hasn’t used it on Linux since commit
    109927bf6f54b58b76ac48ba41c2012c74937fed (Remove pre-Linux 2.6
    support).
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/10426
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 231e50ff9742927188d67099f0e1dbaf09858c3c)
    
    Change-Id: I9ad46eb5a2aafa75e5412eafb1e26bd2c6f0d317
    Reviewed-on: http://gerrit.openafs.org/10456
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7d70e9819bb42ad45defb961fb5cee97653349b8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 9 09:20:32 2013 -0400

    afs: CacheTruncateDaemon work until Cache Drained
    
    The afs_CacheTruncateDeamon() thread will not sleep until both
    'afs_CacheTooFull' and 'afs_WaitForCacheDrain' are true but the
    thread will stop freeing space in the cache when 'afs_CacheTooFull'
    is true which prevents 'afs_WaitForCacheDrain' from ever becoming
    true if it is not already.
    
    Make the conditional for doing work include 'afs_WaitForCacheDrain'.
    
    Change-Id: Id25929080eecd390d4ed56e5fffd6fe56cc8502c
    Reviewed-on: http://gerrit.openafs.org/10436
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1d9cc8fa66e32b7e27a81c474d17f5134ff1f0c9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 7 14:04:32 2013 -0400

    afs: afs_CacheTruncateDaemon wake waiters !too full
    
    When processing afs_CacheTruncateDaemon() if the cache is no longer
    too full, then wake the waiters.
    
    Change-Id: I3dfc2251baad984bd53c4ddaa38f03293eb3ec1c
    Reviewed-on: http://gerrit.openafs.org/10435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8695976b8bbc29b05d65563a1f54e90abb00e0c4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 7 13:55:58 2013 -0400

    afs: afs_CacheIsTooFull macro refs wrong constant
    
    When afs_CacheIsTooFull tests the number of free blocks it should
    use CM_DCACHESPACEFREEPCT (90%) instead of CM_DCACHECOUNTFREEPCT (95%).
    
    Change-Id: I7ecb795e04a2bb3aae801a6feb57f205d3ad4d46
    Reviewed-on: http://gerrit.openafs.org/10434
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5718036049a01004cd1a085148b9530762811246
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 7 13:27:54 2013 -0400

    afs: afs_FlushDCache avoid dup cache drained check
    
    afs_WakeCacheWaitersIfDrained is called as the last statement
    of both afs_DiscardDCache and afs_FreeDCache.  There is no need
    to perform the same check again before exiting afs_FlushDCache.
    
    Change-Id: I111d7dc1638fa8fc0a4c35d9cc4c0a1631300f89
    Reviewed-on: http://gerrit.openafs.org/10433
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ec96b7e60d63627e72950b6d46985a995734d787
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 9 12:17:36 2013 -0400

    afs: Introduce afs_WakeCacheWaitersIfDrained
    
    Consolidate common code into afs_WakeCacheWaitersIfDrained().
    
    Change-Id: I0240d7c1be6c1a8bf22eac5fd6daf909e8320615
    Reviewed-on: http://gerrit.openafs.org/10432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 17aacc87dedffde07b2ae44a73cbddff46222159
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 7 12:26:52 2013 -0400

    afs: FreeDCache test afs_blocksDiscarded
    
    For consistency with afs_FlushDCache and afs_DiscardDCache
    include afs_blocksDiscarded in the free space test.  When afs_FreeDCache
    is called it should be zero.
    
    Change-Id: I84a5dea626258c628d24bf647088e2cbfd233c9a
    Reviewed-on: http://gerrit.openafs.org/10431
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ebc334a4cc020eaf4f46055155db3a4dede9bfc2
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Nov 12 00:23:47 2013 -0500

    Linux: afs_fill_super: Call bdi_destroy on the failure path
    
    Without this, if AFS startup failed, then trying to start AFS again
    triggers these warnings:
    
    WARNING: CPU: 3 PID: 657 at /build/buildd/linux-3.12.0/fs/sysfs/dir.c:526 sysfs_add_one+0xa5/0xd0()
    sysfs: cannot create duplicate filename '/devices/virtual/bdi/afs'
    
    WARNING: CPU: 3 PID: 657 at /build/buildd/linux-3.12.0/lib/kobject.c:196 kobject_add_internal+0x1f4/0x300()
    kobject_add_internal failed for afs with -EEXIST, don't try to register things with the same name in the same directory.
    
    and leads to general system instability.  This can be reproduced by
    starting AFS twice with an empty cache, dynroot disabled, and no
    network.
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/10448
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit f5f53cb0a1f326ed4695621f6a5a63f798444549)
    
    Change-Id: I6dda2fb561279d445bb7fdfdb601b64b326cd4c1
    Reviewed-on: http://gerrit.openafs.org/10454
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ba0a374966dcec78392443bb5f0c43e9c2f0f466
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Oct 30 13:24:59 2013 -0400

    Make process.o depend on process.amd64.s
    
    Some versions of the rule for this target use the amd64 flavor
    of the source file, so it should be listed as a dependency.
    
    This is a 1.6-specific change; the relevant dependency was added
    on master as part of change #5450, which is a much larger change.
    
    Change-Id: I5eb392ccd6b059f6f2344398bd697a5096a1bd77
    Reviewed-on: http://gerrit.openafs.org/10382
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e2bdca9aa7af4636f411d1c9aabc485da20225b9
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Oct 15 20:57:26 2013 -0400

    Tidy up MakefileProto.FBSD.in
    
    We don't support FreeBSD 6.x and older now.  As such, we can convert
    entirely to the "new" world order, and not have to worry about adding
    new sysnames to the conditionals every time we add them.  FreeBSD 7.x
    is no longer supported by upstream, but it does not impose an undue
    burden on us to continue to build on FreeBSD 7.1 and higher; the code
    needed for 7.0 exactly can be removed, though.
    
    (The sense of the conditionals should really have been reversed anyway,
    so that the default case would catch new sysnames correctly.  Too late now.)
    
    This is a 1.6-only change, as the libafs build system on master is quite
    different.
    
    Change-Id: Iad5d8b6edb9140b38568ab57ffecf0cfdaf1cbd3
    Reviewed-on: http://gerrit.openafs.org/10375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit eacf8facd86f3480dfc8a2676f20572178d86bb3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Oct 15 16:56:07 2013 -0400

    Sysname and param.h for FreeBSD 9.2 and 11.0
    
    9.2 is newly released and HEAD is now 11-current.
    
    On the 1.6 branch (unlike master), we still need to define
    AFS_64BIT_ENV.
    
    Reviewed-on: http://gerrit.openafs.org/10341
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit 1b674ae30925c8459e1a5614e19562af460850d8)
    
    Change-Id: Id5d5f2ca74cbdb816a759487e01aefb215894887
    Reviewed-on: http://gerrit.openafs.org/10381
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ce19d1de2a12a31db8785309e108253c2a401076
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed May 29 19:18:22 2013 -0400

    FBSD: plug refcount leak in pioctl
    
    When gop_lookupname_user returns a non-NULL vnode, the vnode came
    from afs_GetVCache (by way of afs_lookup) which takes a reference
    on the vnode entry.  There's no need to take another spurious
    reference here.  The existing code already knows that there's a
    reference in place, as there is an AFS_RELE down where FBSD80_ENV
    unlocks the vnode if it's locked (that code is also suspicious).
    
    Prior to this patch, things like 'fs flush /path/to/file' would
    leak a reference on that cache entry, preventing clean shutdown.
    
    Reviewed-on: http://gerrit.openafs.org/9957
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2bbba424ad6728a221688f782b4df90bf6da4a63)
    
    Change-Id: If9435903b32ca7001b418bc7a0fb611bda4d424e
    Reviewed-on: http://gerrit.openafs.org/10380
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0d41c9a09206ad2b74a494f49469e289d3617087
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Sep 25 16:57:41 2013 -0400

    Fix build for FreeBSD 10.0
    
    Move a rmlock.h inclusion up a bit so that the vm headers can get the
    rmlock assertion (and other) macros they need.
    
    The filedesc structure has been expanded on FreeBSD to support a
    stronger capabilities system; getting to the actual file descriptor
    requires another structure access.
    
    limits.h and stdarg.h need sys/ and machine/ prefixes for inclusion in the
    kernel on FreeBSD.  Unlike on master, there are not spurious include search
    path directives to remove.
    
    Catch up to VM layer changes.
    
    This builds, but crashes at runtime due to some ABI incompatibilities
    that appear in the rx event layer; those will be fixed in a separate patch.
    
    Reviewed-on: http://gerrit.openafs.org/10339
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit e222b08c4049dae95475eda2d5c54bd43dd45e2e)
    
    Change-Id: Ia8f0f31b000292fd160b8752ad5839852e11f0e0
    Reviewed-on: http://gerrit.openafs.org/10379
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4dad6373c808e67d87faf14e2d011d58979dc737
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Mar 22 13:51:02 2013 -0400

    Catch up to FreeBSD VM object read/write locks
    
    Upstream r248084 changed the vm_object mutex to be a rwlock,
    allowing for future optimizations.  This is a KPI change, so
    introduce conditionals to be compatible with both versions of the KPI.
    
    Reviewed-on: http://gerrit.openafs.org/10295
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 897e970dbe09d163479719b4c9befa660d99874b)
    
    Change-Id: Ieeb30f3ad9accab37117109ccf82952812157aab
    Reviewed-on: http://gerrit.openafs.org/10378
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 336fe48e42c68c759eb35232c6d7672bcb8e7957
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jun 20 22:34:41 2011 -0400

    FBSD: Remove include directive for nonexistent file
    
    In the bsd.kmod.mk world, this becomes a fatal error.
    
    Reviewed-on: http://gerrit.openafs.org/5033
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 037f3251cd8fa318ad8320a061368efedc480c37)
    
    Change-Id: If586761fce1254818c858d29ce6c31a5b8b13943
    Reviewed-on: http://gerrit.openafs.org/10377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 476e2048b96453827f2e50e3a79f3ecc539f352b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Mar 28 17:10:29 2013 -0400

    FreeBSD: VOP_MMAP has been dead since 1996
    
    Clang complains that our (K&R!) declaration of struct vop_mmap_args
    will only be visible within the (empty) function.
    With the kernel's CFLAGS, though, this is fatal.
    Remove the dead code.
    
    Reviewed-on: http://gerrit.openafs.org/9856
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit a63e6747abd33fef40da16312dfc22d052bffd00)
    
    Change-Id: I647af5c9574dacd2b9fcd5147a0a252b3981c2c0
    Reviewed-on: http://gerrit.openafs.org/10376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4914a6355d5cc7b6704706f4ec211b5f300cc682
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Oct 15 16:00:01 2013 -0400

    Adjust for microtime() ABI on all XBSD
    
    On the BSDs, struct timeval is not two 32-bit integers like our
    struct clock, so the ABI is quite incompatible.  Use the native type
    for the function call and translate to our local type accordingly.
    
    Unlike on master, there was no workaround in the FreeBSD kernel build
    to remove.
    
    Reviewed-on: http://gerrit.openafs.org/10340
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Antoine Verheijen <apv@ualberta.ca>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit 1bdcc3c7bca092f189f434f1f7b174090c24250c)
    
    Change-Id: I54cb609f80bc35fb09a5026c964ba28ae860f3f5
    Reviewed-on: http://gerrit.openafs.org/10374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ac2d87fb6380de2ba83013983ad9c53f81347e11
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 1 16:46:13 2012 -0500

    afs: Add some comments on GetValidDSlot panics
    
    A couple of call sites for afs_GetValidDSlot currently panic if an
    error is returned, but no explanation is given. Add a few comments
    helping explain why there is a panic there, instead of graceful error
    handling.
    
    Reviewed-on: http://gerrit.openafs.org/8407
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 3081a2cff2e4f9499268854504873fa801d50ce5)
    
    Change-Id: I3bbe8f32683cb6086add494641b206c5b861fe3a
    Reviewed-on: http://gerrit.openafs.org/10358
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c8ffb8b9eefc8c2a0c6b41e3e29c0f03940a5fcf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 1 16:33:31 2012 -0500

    afs_FreeDiscardedDCache: Avoid assert on error
    
    Currently afs_FreeDiscardedDCache will assert if it cannot read in any
    discarded dcache entry to free. Return an error instead of asserting,
    so the caller can figure out what to do about the error.
    
    Adjust the callers to handle the error, or panic.
    afs_MaybeFreeDiscardedDCache still just panics anyway, as making it
    handle the error gracefully is beyond the scope of this commit, and is
    work for another day.
    
    This changes afs_FreeDiscardedDCache to return an int.
    
    Reviewed-on: http://gerrit.openafs.org/8406
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 866a9fbbdd89735ab76a70cb6d6523db2b98e4c9)
    
    Change-Id: I42a3be4938e5a43c394475653075f9e03a9e7975
    Reviewed-on: http://gerrit.openafs.org/10357
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit eb9585879b3055c2c62d8cc880a6d24501d40aa6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 1 15:43:09 2012 -0500

    afs: Handle afs_AllocDCache errors
    
    Do not panic if afs_AllocDCache encounters an error and returns NULL.
    Instead, go into the normal retry loop that occurs if we couldn't free
    up any more free/discard dcache entries.
    
    Reviewed-on: http://gerrit.openafs.org/8405
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit e02185547e316667989a100f77e68b918481b597)
    
    Change-Id: I507a6329b7b4fadaa39d0dc907c15fb5647fc135
    Reviewed-on: http://gerrit.openafs.org/10356
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 03dd9be6bb8c85a77603194b06f890a16b0c5fc0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 1 15:32:31 2012 -0500

    afs_AllocDCache: return NULL instead of panic
    
    Currently afs_AllocDCache will panic if we cannot get a valid dcache
    from the free/discard lists. Instead, return NULL, so the caller can
    decide how to handle the error.
    
    Currently the caller will just panic anyway, but that will be
    addressed in a future commit.
    
    Reviewed-on: http://gerrit.openafs.org/8377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 64ee7b32f134e6431eb2894ed4397f8b1fea25ad)
    
    Change-Id: Ica8f1539279c30f4914ab84161c6bc2f0468d565
    Reviewed-on: http://gerrit.openafs.org/10355
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2679af764de250448e3c7c8344c961f9b8149fd7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 1 13:41:06 2012 -0500

    afs: Traverse discard/free dslot list if errors
    
    Currently, when we pull a dslot off of the discard or free list, we
    just try to get the first entry from the list, and panic if we cannot
    get it. Instead, traverse through the whole list, trying to find an
    entry we can successfully get. This introduces the helper function
    afs_GetDSlotFromList to do this traversal.
    
    This does not yet address the case where we cannot get any entry on
    the relevant list.
    
    Reviewed-on: http://gerrit.openafs.org/8376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 336939179721d79a6798614ff747dd06701e3edc)
    
    Change-Id: I12d8cfbe7d1fe7bbe50b49bcee34a8a5dced1569
    Reviewed-on: http://gerrit.openafs.org/10354
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9d40feb5977bcaf897b869b52a9ae39c1a86a096
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 2 18:14:07 2010 -0400

    volser: add missing Makefile dependencies
    
    Add some missing dependencies in the volser Makefile to prevent
    trying to compile while a header file is still being generated.
    
    This caused parallel make errors on some slower systems.
    
    Reviewed-on: http://gerrit.openafs.org/3244
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 6f1da57603cf86109e096001018ba9b0f1dd18b5)
    
    Change-Id: Ib2d64abfe4b10af03d0d3d7b6550afa931ccd3a0
    Reviewed-on: http://gerrit.openafs.org/10337
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 01bf3b2ad70d63759588860b4ceed83bac3572a3
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Oct 21 14:23:50 2013 +0200

    Revert "build: compile_et rules for parallel make"
    
    This reverts commit 6c3adb6db781ef4b15d9336a63b40d3a79b11264.
    While gerrit 10310 may be correct, it at least triggers some
    other problem, causing significantly higher failure rates for
    parallel builds. This is especially true in combination with
    gerrit 10337, where there's at least one known case of 100%
    failure rate. A different solution, modifying compile_et to
    allow it to emit a single file per invocation, is being worked
    on. For the time being, revert 10310 on the 1.6 branch to get
    parallel build stability back to the previous level.
    
    Change-Id: I372d64868f7f7d0e7185f575212f16e453299b1c
    Reviewed-on: http://gerrit.openafs.org/10349
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 994da1669293c7c341b5f73fdb7eaebbe530ec90
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Tue Oct 8 11:53:17 2013 +0200

    linux-kernel-module: move keyring-specific
    
    function afs_set_session_keyring into
    if defined(LINUX_KEYRING_SUPPORT)
    block. Otherwise compilation fails.
    
    Reviewed-on: http://gerrit.openafs.org/10324
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit b0d75d0687a3436201411384c570448a49a9db15)
    
    Change-Id: I268a32a09a80865cf127332c079583e5dba1ae67
    Reviewed-on: http://gerrit.openafs.org/10325
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Christof Hanke <christof.hanke@rzg.mpg.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6c3adb6db781ef4b15d9336a63b40d3a79b11264
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 9 22:25:50 2013 -0400

    build: compile_et rules for parallel make
    
    Change all makefile rules which run compile_et in order support parallel
    make.  The compile_et generates two outputs, so special care must be
    taken in rules which run compile_et.
    
    All the rules for compile_et have been changed to the form:
    
        foo.c foo.h: foo.et
            compile_et foo.et -h foo
        foo.h: foo.c
    
    The above rules are equivalent to:
    
        foo.c: foo.et
            compile_et foo.et -h foo
    
        foo.h: foo.et foo.c
            compile_et foo.et -h foo
    
    therefore a parallel make will serialize the builds of foo.c and foo.h,
    and should detect that the second is no longer needed once the first is
    over.  This form works since foo.et is not a phony target, and does not
    depend on a phony target.
    
    Previously, the rules for compile_et were of the one of the two forms:
    
        a)  foo.c foo.h: foo.et
                compile_et foo.et -h foo
    
    or
    
        b)  foo.h: foo.c
            foo.c: foo.et
                compile_et foo.et -h foo
    
    Form a) is problematic for parallel makes, since it is equivalent to:
    
            foo.c:
                compile_et foo.et -h foo
            foo.h:
                compile_et foo.et -h foo
    
    In a parallel make, compile_et will be run concurrently, clobbering
    each other's output files.
    
    Form b) is better, but is problematic when foo.h is removed, since foo.h
    will not be updated.
    
    Thanks to Russ Allbery for pointing out the automake documentation which
    describes issues with commands that produce multiple outputs, and
    portable solutions.
    
    http://www.gnu.org/software/automake/manual/automake.html#Multiple-Outputs
    
    Reviewed-on: http://gerrit.openafs.org/10237
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit dbf68229c6c90d65781fdc16565dd1e9b56248c0)
    
    Change-Id: Ibb5a5e9c85245d716b1b203a15adbe5c87d860b7
    Reviewed-on: http://gerrit.openafs.org/10310
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit caad18b1bd1ab2edd2aed62307b0ca86c686f0bd
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Apr 17 14:06:57 2011 -0400

    adminutil: parallel build fixes
    
    Rearrange the Makefile to make it more parallel build proof.
    Add some dependencies on the header files, and avoid rules
    with 2 targets.
    
    Reviewed-on: http://gerrit.openafs.org/4497
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit c721bff5035b6e2d87e10be0f4711133b33dc5dc)
    
    Change-Id: Id66cd9557696224a6555f2ceb534fd27794f990a
    Reviewed-on: http://gerrit.openafs.org/10309
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 30f197727d8dcc361e1df07238d88f8bedf5038d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 11 11:22:20 2013 -0500

    Probe directly for com_err.h
    
    com_err.h can be in com_err.h, et/com_err.h, or krb5/com_err.h (for
    netbsd 6.1 and possibly other netbsd). aklog currently only includes
    either com_err.h or et/com_err.h, depending on autoconf probes
    performed by the krb5.m4 macros.
    
    So, also look for krb5/com_err.h. The krb5.m4 macros currently only
    look for com_err.h at all if certain other libkrb5 tests return
    certain results, so just look for all of them directly in some of our
    openafs-specific krb5 probing logic in configure.ac.
    
    Also remove the duplicate check for et/com_err.h in acinclude.m4 while
    we're here. We only use et/com_err.h if krb5 support is enabled, so
    only check for it in the second of krb5 probes.
    
    FIXES 131716
    
    Reviewed-on: http://gerrit.openafs.org/10244
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 8e32b11be6ce0517f75588360a3ca8c333358ca3)
    
    Change-Id: I567959b6d26ece9606086f4d82c5be40b11d7ea8
    Reviewed-on: http://gerrit.openafs.org/10275
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8e39eaa93a3f02eb85eabc9161fe4064026ff1be
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 25 00:25:48 2013 -0500

    Whine if single-DES keys are in use
    
    If we are using single-DES keys in our KeyFile, yell at the
    administrator, so they have a chance at realizing that they should
    migrate to stronger crypto.
    
    Reviewed-on: http://gerrit.openafs.org/10273
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit 4212c7e604bebcb8f20b67c60323263231611bfb)
    
    Change-Id: I00b47889e7e79819a3c5d347349686e5d2da30e8
    Reviewed-on: http://gerrit.openafs.org/10274
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ea4018f9ee2b6af0549125c62e6be88094207021
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 23 21:23:27 2013 -0400

    doc: state klog.krb is obsolete
    
    State upfront that klog and klog.krb (v4) are obsolete.
    
    Update the klog.krb description and remove some redundant
    text.
    
    Reviewed-on: http://gerrit.openafs.org/10270
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 8fc86de33e95efc5cdcd73131d97a2afd1ad935a)
    
    Change-Id: I1fbd3920495a855b34e8547e90a941d36cafdfdf
    Reviewed-on: http://gerrit.openafs.org/10314
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9ae91dfe4767be0d7c097304d04a68cfee8c6c14
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon May 13 13:59:50 2013 -0400

    vldb_check: print vlentry file offsets
    
    To aid in debugging, consistently print the vlentry database "address"
    and the file offset when displaying errors for vlentries.  Print the
    vlentry file offsets when printing all the entries with the -entries
    option.
    
    Reviewed-on: http://gerrit.openafs.org/9906
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit ccb66323a0a74b35b44aa901a49490a5021d46e0)
    
    Change-Id: I4a3e7296b7b6cd8a228e4d44b591c572bdbb5c70
    Reviewed-on: http://gerrit.openafs.org/10269
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 513a8fee6e60a7a369664aca9ba15789672783bd
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Aug 28 14:51:13 2013 +0200

    Linux Keyring error handling
    
    honour the returncode of key_instantiate_and_link() to avoid
    having non-working pagsh without an error.
    
    Reviewed-on: http://gerrit.openafs.org/10179
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit c7f5a212025172307e85e09ada03333e5e288cc3)
    
    Change-Id: Ib5809e36ae8e87190206d75286bbeb23ace34b25
    Reviewed-on: http://gerrit.openafs.org/10255
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8cef9359cd3ff5bd7c36465e09a6d616f70f3cd0
Author: Derrick Brashear <shadow@your-file-system.com>
Date:   Fri Sep 13 11:13:05 2013 -0400

    linux: core dump requires write fop
    
    turns out not just writev is unhappy with aio_write (only); core dumping
    wants a write file op. always provide it.
    
    FIXES 131729
    
    Reviewed-on: http://gerrit.openafs.org/10251
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 13165c05836bcd4b3f5655ab2bcc979ff859efa2)
    
    Change-Id: I35f16004164af79621307de1973d25e75b01ec2c
    Reviewed-on: http://gerrit.openafs.org/10254
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 51af11f297b54d79c3b54c9e6a0316db732d1047
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Thu Sep 12 09:25:31 2013 +0200

    LINUX: Keyring deal with suse-specific key_type op
    
    instantiate_prep used for checking for
    STRUCT_KEY_TYPE_HAS_PREPARSE
    
    Reviewed-on: http://gerrit.openafs.org/10194
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 9db8b123e4dab6c25ef4166ad3fa74aaa0f630f4)
    
    Change-Id: I94e44be4d370c7096140162bea9ba1ad8fd69781
    Reviewed-on: http://gerrit.openafs.org/10252
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit acb2fb8cf896845b84b2b49e82fbd3eb662e08e7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 9 18:45:51 2012 -0500

    vos: Minimize release impact for new RO sites
    
    Currently, if a new RO site is added with 'vos addsite', the only way
    to populate the new site with data is a 'vos release' (excepting hacks
    using 'vos restore' and 'vos addsite -live', etc). Due to safeguards
    in 'vos' ensuring that RO sites always all contain the same data when
    marked as up-to-date in the VLDB, such a release always incurs some
    amount of data to be transmitted to all sites, as well as remote sites
    being brought offline briefly, even when the RW data has not changed
    in very long time.
    
    To alleviate this situation, make 'vos release' detect if new,
    unpopulated RO sites have been added, and if the RW volume has not
    changed since the release of any existing RO sites. If both of these
    conditions are true, do not update any of the existing sites, but only
    transmit volume data to the sites that did not already contain RO
    volumes.
    
    Reviewed-on: http://gerrit.openafs.org/7393
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 3fc800be9c702c1a40869908831a9895602909cb)
    
    Change-Id: Icfeb1bad816ff5c3220581c7adf541d8b87df989
    Reviewed-on: http://gerrit.openafs.org/10174
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ae8c311e207712e87421967749c79250a89d27ff
Author: Derrick Brashear <shadow@your-file-system.com>
Date:   Thu Sep 12 08:09:34 2013 -0400

    linux: provide read and write ops even when we have aio
    
    read/write will fall back to aio ops but e.g. writev will
    fail if there is not either a write or writev op explicitly.
    
    force the fallback via do_sync_read/do_sync_write
    
    required with 2.6.18-348.x rhel kernels but probably not newer ones
    
    Reviewed-on: http://gerrit.openafs.org/10246
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit e6af2ffc86af17c4be427384467c4122fc5301b3)
    
    Change-Id: I1b10a6428b1975ef5c76e1ff40217758ff7d90d9
    Reviewed-on: http://gerrit.openafs.org/10248
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ccc7a46b419141d7c28e89e2292f4e5d8cdb7683
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 20 15:13:43 2013 -0500

    rx: Always call rxi_StartListener
    
    Commit c10f5296 made rx_Init only call rxi_StartListener in the kernel
    if we have RXK_LISTENER_ENV. But this doesn't make any sense, since
    rxi_StartListener only does anything if RXK_LISTENER_ENV is _not_
    defined. As a result, for any non-rxk-listener non-rx-upcall platform,
    we never receives rx packets in the kernel, since we never set up our
    rx packet callback. The only such platform appears to be AIX, since
    while other platforms (HPUX, FBSD, IRIX) have a non-rxk-listener mode,
    they also implement an rxk-listener mode that we always turn on.
    
    So, just always call rxi_StartListener, and let the ifdef guards for
    the various implementations of rxi_StartListener do the right thing.
    
    FIXES 131725
    
    Reviewed-on: http://gerrit.openafs.org/10263
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 2aa26fcb4e3cf5fa85a3aee3263893a0443a2b75)
    
    Change-Id: Id98c29175ec811195183c35c2c43c6c4de817dfc
    Reviewed-on: http://gerrit.openafs.org/10272
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ad8b40dc80bb5196bcda61858efc1a817ab4b9d1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon May 13 13:47:06 2013 -0400

    vldb_check: cope with broken names and volids
    
    Fix-up broken vlentry names and rw volid so entries can be looked
    up in the vlserver and can be deleted with vos delentry if needed.
    
    Reviewed-on: http://gerrit.openafs.org/9905
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 7a89c4f94440ac1c8ebf16107ece3b56c178ffc9)
    
    Change-Id: I2cf2d711f6dee08b2d27429ff4d37290bc21b9a2
    Reviewed-on: http://gerrit.openafs.org/10268
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a33157bc62c3bae5975b2316ce62b6d09195601d
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Fri Sep 13 11:47:08 2013 +0200

    afsd: check if mountdir is an absolute path
    
    if the mountdir in the cacheinfo file is not absolute,
    it can confuse commands like "df". Thus, force it to
    be absolute.
    
    Reviewed-on: http://gerrit.openafs.org/10250
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit fb623d5da30e6d304f672d8485da2e1781afa5df)
    
    Change-Id: I80542020848c901e57e7440cb1ed2149aa0d3251
    Reviewed-on: http://gerrit.openafs.org/10253
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4f14bf220e0fa75fda39dee2b4453b431555b388
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 1 14:06:52 2013 -0500

    DAFS: Remove AFS_DEMAND_ATTACH_UTIL
    
    Currently we have two DAFS-related preprocessor defines in the
    codebase: AFS_DEMAND_ATTACH_FS and AFS_DEMAND_ATTACH_UTIL. DAFS_FS is
    the symbol for enabling DAFS code, and turns on demand attachment and
    all of the related complicated volume handling; it requires pthreads.
    DAFS_UTIL is supposed to be used for utilities interacting with DAFS,
    but do not have pthreads and so cannot build the relevant threads for
    e.g. the VLRU, so they don't support demand attachment and a lot of
    more advanced volume handling techniques.
    
    Having both of these exist is confusing. For example, currently in
    partition.c we only initialize dp->volLockFile for DAFS_FS, even
    though the structure exists if _either_ DAFS_FS or DAFS_UTIL is
    defined. This means when only DAFS_UTIL is defined, volLockFile will
    exist in the partition structure, but will be uninitialized!
    
    Amongst other possible issues, this means right now that DAFS_UTIL
    users (dasalvager is the only one right now) will try to use an
    uninitialized volLockFile whenever they try to use a volume that needs
    locking. Since the partition struct is usually initialized to all
    zeroes, this means we'll try to issue a lock request for FD 0,
    whatever FD 0 is. If FD 0 is not open, we'll fail with EBADF and bail
    out. But if FD 0 is open to some random file, the lock will probably
    succeed, and we'll proceed without actually locking the volume lock
    file. While the fssync volume checkout mechanism still works, the
    on-disk locking mechanism protects against race conditions the fssync
    volume checkout mechanism cannot protect against, and so handling
    volumes in this way is not safe.
    
    This is just one example; there are other issues with the partition
    headerLockFile and probably may other things; most instances of
    DAFS_FS really should be enabled for DAFS_UTIL as well.
    
    So, instead of trying to account for and fix all of these problems
    individually, get rid of AFS_DEMAND_ATTACH_UTIL, and just use
    AFS_DEMAND_ATTACH_FS. This means that all relevant code must be
    pthreaded, but since the only relevant code is for the dasalvager, we
    can just make dasalvager pthreaded. Salvaging does not make use of any
    threads or LWPs, so this should not have any side-effects.
    
    Thanks to Ralf Brunckhorst for reporting the issue where we encounter
    EBADF when FD 0 is not open, leading to the discovery of this.
    
    Reviewed-on: http://gerrit.openafs.org/10123
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 7f15a1bbb34fa6f0d52800880f31be367d77a64f)
    
    Change-Id: I56904bc5989ffe346af9213584dee2ef5ce190ff
    Reviewed-on: http://gerrit.openafs.org/10167
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8db96f4848669ce2e765eda64ce0b0d28a8e20ef
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 20 16:48:34 2013 -0400

    bozo: cap retry delay
    
    Cap the retry delay to a reasonable amount of time instead
    of just doubling the delay until it reaches 16 hours.
    
    Reviewed-on: http://gerrit.openafs.org/10148
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 21c8f4809ee7af9d2ec76cb37747183cee0c0d33)
    
    Change-Id: If10880ba5411af0ea66bcb50c8cce13f4155f2ad
    Reviewed-on: http://gerrit.openafs.org/10199
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 466e8cb15e794e13ef27a0aaa7be6abad499d66d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 29 14:44:11 2011 -0400

    bozo: retry start after error stops
    
    After a bnode is stopped because of two many consecutive exits
    delay for some time and attempt to start the bnode again. Countine
    to retry on each error stop, doubling the delay for each retry
    attempt until a maxium number of attempts.
    
    Reviewed-on: http://gerrit.openafs.org/5534
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 170ce3db8a32c2b5df68ada3e84ecdaa98785e71)
    
    Change-Id: I4f3863c31318ba9c5950ef74ec0a04b31decfebb
    Reviewed-on: http://gerrit.openafs.org/9571
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5ef139d769d4d3d43840e3a537a9939dd1d2d1e3
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 9 18:42:32 2013 -0500

    gcc 4.8: fix warnings
    
    Quiet new warnings introduced by gcc 4.8:
    
    - Many unused typedefs under src/admin.
    - A possibly uninitialzed variable under src/viced
    
    Reviewed-on: http://gerrit.openafs.org/8913
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 684d1ec6ba4bb7e96404328d02be5d070ba63478)
    
    Change-Id: If887f461dc2bed37b342bb514334f0058b0aceda
    Reviewed-on: http://gerrit.openafs.org/10242
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8e14537c605b3b6867c923dfef782492191939c7
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Tue Sep 3 07:55:14 2013 -0400

    Linux 3.11: Adapt to d_count changes
    
    In preparation for upcoming changes in the 3.12 cycle, d_lockref
    was introduced late in the 3.11 cycle.  The dentry's d_lock and
    d_count are moved to this new structure.  A new d_lock macro makes
    the change transparent for locking, but direct users of d_count
    must adapt.  A new d_count() helper function is provided and
    should now be used.
    
    Use the new d_count() helper function if available, and move
    some of the ifdef logic into a helper compatibility function.
    
    Reviewed-on: http://gerrit.openafs.org/10219
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    (cherry picked from commit 1f577e41b65e9bd213a915a296ecf5bedd17fcc1)
    
    Change-Id: I43db7b00f966a214259b6814d0308b7164e31295
    Reviewed-on: http://gerrit.openafs.org/10241
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 47fb5837820e0dcf46c0c19a15b81848e75be3aa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:16:50 2012 +0100

    libadmin: Clear structures according to their size.
    
    memset(a, 0, sizeof(a)) is rarely correct, unless a is an error. Use the
    size of the destination structure, rather than the size of a pointer to it
    when deciding how much memory to clear.
    
    Caught by clang's new error messages
    
    Reviewed-on: http://gerrit.openafs.org/7076
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 34afb3e6b903fc1659b1c869fa2fb4226038e076)
    
    Change-Id: I06912a70af9f3cd54f4a5368e996a7308e687c20
    Reviewed-on: http://gerrit.openafs.org/10243
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b4de9dc5b030c04cfee5514ef8ca4f4497713699
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 3 16:28:44 2013 -0500

    volser: Use the new IH_CREATE_INIT function
    
    Use IH_CREATE_INIT when restoring volume data, so we don't open each
    restored data file twice.
    
    Reviewed-on: http://gerrit.openafs.org/9970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit ba42758ce218e8985adc0129d0ee3ffa8690537f)
    
    Change-Id: I01a0506fefce299aa7dc799e3ff494dfbeb2b894
    Reviewed-on: http://gerrit.openafs.org/10178
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 93c574365cf5926e1640f25d39f311fa9868e763
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 30 17:53:56 2013 -0500

    namei: Create the IH_CREATE_INIT function
    
    Create a new function that combines calls to IH_CREATE and IH_INIT
    into one operation; the new function is called IH_CREATE_INIT. This
    allows a caller to create a file and then use it, without needing to
    open() the file twice.
    
    This is currently only implemented for the Unix namei backend; other
    backends result in effectively the same functionality (but can use the
    same API).
    
    Reviewed-on: http://gerrit.openafs.org/9969
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit aaa2584c0498037529a30c985ac8a437ec7d842c)
    
    Change-Id: I5018418cea63ba19ef0ef3bb047e3f9799a93293
    Reviewed-on: http://gerrit.openafs.org/10177
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2c619d2105ed3d0846640a48c0c4a8d687691c8d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 30 17:52:32 2013 -0500

    ihandle: Refactor ih_open to split out ih_attachfd
    
    Refactor the function ih_open, so part of its logic gets split out
    into the new ih_attachfd_r (and ih_attachfd) function. This allows
    other code to splice in an existing fd, without going through the
    normal "open" path.
    
    This patch should incur no functional change; it is just code
    reorganization.
    
    Reviewed-on: http://gerrit.openafs.org/9968
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit f40e20d5671310500fb4f6acf38980e158a74c66)
    
    Change-Id: I40bb515b5c822c3be3d3819c0183091753c41dea
    Reviewed-on: http://gerrit.openafs.org/10176
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2d1ed3a1108de01ac6a967daf3fc71646703b9f2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 30 17:40:58 2013 -0500

    ihandle: Fix fdInUseCount leak on EMFILE
    
    Here, we close closeFd, but currently we don't decrement fdInUseCount.
    Since we retry the open immediately afterwards, this means we can leak
    fdInUseCount references. For example, if we retry this 5 times and get
    EMFILE on each attempt, we will close 5 FDs, but not decrement
    fdInUseCount at all.
    
    To fix this, decrement fdInUseCounter when we close a file for EMFILE.
    
    Reviewed-on: http://gerrit.openafs.org/9967
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 48344381d7a87a3617ec14ffc9f2d9735805ada6)
    
    Change-Id: I03aee981c0b9663ac937c6165796f19366acec1e
    Reviewed-on: http://gerrit.openafs.org/10175
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0f795f08158ca65242b943ff89525e6901970bec
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 12 12:20:33 2013 -0400

    auth: fix cellservdb update check
    
    Fix a bug introduced by the check to avoid excessive stats of the
    cellservdb.  Fixes a bug where cached cell config data is served for up
    to one second after a write.
    
    Check the timeRead field which is reset after a write to indicate the
    data should be read.
    
    Fixes commit 5cdc211b8bf1b3f5419ebe52ecc9d3772ffdf9a6 on the 1.6.x branch.
    
    Reviewed-on: http://gerrit.openafs.org/10230
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    
    (cherry picked from commit 73ae85bd59cfe9fca2daeb7dc0aa0917368bb5bf)
    
    Change-Id: I01c09383b0ba417aca13b2ef7724d4fde91e327a
    Reviewed-on: http://gerrit.openafs.org/10247
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6e29c74fbd304e29b9d6309b4a79db17416fb081
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jan 25 18:47:49 2013 -0500

    salvager: prevent assertion during -orphans attach
    
    Improve JudgeEntry() detection of orphaned directories to
    prevent unintentional deletion of their '.' and '..' entries.
    This in turn prevents a later assert (opr_Verify) when we try to
    delete and re-add '..' in order to attach the orphan.
    
    In JudgeEntry(), 2 sources of information about a
    directory entry are compared for consistency:
     - vnodeEssence (unique) from its vnode index entry
     - name, vnodeNumber and unique from its dir blob entry
    
    A directory entry may be ignored, deleted, or repaired/replaced,
    based upon the results of these and other tests (e.g. dirOprhaned).
    
    The '.' and '..' entries are treated as special cases because
    we do not want to delete them at this point if this directory
    is orphaned.  However, the current test for orphanhood
    (vnodeEssence->unique == 0) is not sufficient; it could be
    zero for other reasons.  This commit now uses the dirOrphaned
    flag to test for this.
    
    However, we are still interested in doing the right thing
    for '.' and '..' entries with vnodeEssence->unique == 0.
    This may indicate that the dir blob entry is pointing at the
    wrong vnode, and that vnode has unique==0.  The current code
    incorrectly ignores (returns 0) this case.  This commit now
    now falls through to the repair/replace code so that we can
    find the correct vnode for this entry.
    
    The current code assumes that the 'vnodeEssence == 0 &&
    !dirOrphaned' case doesn't exist.
    
    Thanks to Andrew Deason for his assistance.
    
    Reviewed-on: http://gerrit.openafs.org/9104
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit e8faeae6dcae0e566de2b21d53d3f78f3cc44e3f)
    
    Change-Id: Ibc9e6ddf1f281e3a3a560ed1eefcdb4776e12caa
    Reviewed-on: http://gerrit.openafs.org/10165
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2879ab9b26fd67bfa802b54bc4ac316a9448f1d1
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Aug 14 23:36:42 2013 -0400

    Declare sigwait parameter if it will be used
    
    Make sure the 'sigw' parameter for sigwait is declared if it's going to be
    used (it was missing for netbsd)
    Derived from 18b932f (http://gerrit.openafs.org/2767)
    
    Change-Id: I53f79ef5eb9ff132e99b78ca87f125e832d2e5f0
    Reviewed-on: http://gerrit.openafs.org/10138
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c358d7cbbdf24de7d62d9ae3f514201a31bed2f9
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Jul 16 20:39:56 2013 -0400

    Check for over/underflow while allocating PTS ids
    
    The behavior of signed integer over/underflow is implementation-defined,
    but even if the compiler is nice and just wraps around, we could get
    ourselves into trouble later on.
    
    Reviewed-on: http://gerrit.openafs.org/10091
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 6c7c185ba3ec6fbdda0651d18868e66edd655809)
    
    Change-Id: I1feb1879cce064760ae061538215b22b6fd55933
    Reviewed-on: http://gerrit.openafs.org/10124
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7242e25ae28da95b11b98e1353333b0ca70dc6d5
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Jul 23 17:11:24 2013 -0400

    aklog: Put ${AKLIBS} after ${AFSLIBS} on the linker command line
    
    Systems with newer, stricter linkers (such as Ubuntu saucy) require
    this ordering because libauth.a uses symbols from libk5crypto.
    
    Fixes this build failure:
    gcc -o aklog -g -O -I/…/openafs/src/config -I/…/openafs/include -I. -I.  -D_LARGEFILE64_SOURCE  -DALLOW_REGISTER   aklog.o aklog_roken.o krb_util.o linked_list.o   -Wl,-Bsymbolic-functions -Wl,-z,relro -lkrb5 -lk5crypto -lcom_err /…/openafs/lib/libprot.a /…/openafs/lib/libauth.a /…/openafs/lib/libubik.a /…/openafs/lib/librxkad.a /…/openafs/lib/libsys.a /…/openafs/lib/librx.a /…/openafs/lib/libsys.a /…/openafs/lib/liblwp.a /…/openafs/lib/libdes.a /…/openafs/lib/libafscom_err.a /…/openafs/lib/libcmd.a /…/openafs/lib/libafsutil.a -lresolv
    /usr/bin/ld.bfd.real: /…/openafs/lib/libauth.a(akimpersonate.o): undefined reference to symbol 'krb5_c_make_random_key@k5crypto_3_MIT'
    /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libk5crypto.so: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make[5]: *** [aklog] Error 1
    make[5]: Leaving directory `/…/openafs/src/aklog'
    
    Change-Id: Ibb12178d85e37e21320706eaafb84c7457d16e6c
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/10107
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Christof Hanke <christof.hanke@rzg.mpg.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 36426f4569d1c8ea9f6828e3b93d6df3745fbbbf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 28 16:42:58 2013 -0500

    aklog: Probe for libasn1 on heimdal
    
    aklog uses encode_EncTicketPart and some other encode_* ASN.1 routines
    when we're building against heimdal. Our krb5 autoconf logic from
    c-rra-util is not guaranteed to include libasn1 in KRB5_LIBS, since
    it's not required for functions in the krb5 API. So, specifically test
    for it.
    
    Related issue reported by Måns Nilsson.
    
    Reviewed-on: http://gerrit.openafs.org/9693
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 1942d2a4fc90703e64e1c97ba10d2918ba584e73)
    
    Change-Id: Ibf3713ff5027ec3b410e4b19ffd11f5449357248
    Reviewed-on: http://gerrit.openafs.org/9917
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ff472ae83739de3f10900da272ae389defa259a1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 26 17:50:31 2013 -0500

    volser: Make VolListOneVolume errors consistent
    
    Currently, VolXListOneVolume errors out with ENODEV if any attachment
    error occurs with the specified volume. But VolListOneVolume always
    returns success if it can find the indicated volume, and any
    attachment errors and such are reported in the 'status' field of the
    volume info structure.
    
    These two functions do pretty much the same thing; VolXListOneVolume
    just provides more info than VolListOneVolume. So make them behave the
    same way, and provide more specific information, whether or not
    somebody ran 'vos examine' or 'vos examine -extended'.
    
    The 'vos' binary has always handled errors in the 'status' volume info
    structure for both "extended" and non-"extended" queries. This
    difference appears to just have been a mistake from OpenAFS 1.0.
    
    Reviewed-on: http://gerrit.openafs.org/9680
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 199cfb4a885b98b583f538ed14dff7ec5c9f9990)
    
    Change-Id: I397c6b49eb7cfaef1c4dae16c1158dc0411701a3
    Reviewed-on: http://gerrit.openafs.org/9916
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c637c4c6155c4b7c98669cfd3eed514f89c2e9fe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 26 17:26:23 2013 -0500

    volser: Restore Vol*ListOneVolume error handling
    
    In the 1.4 series, the volserver VolListOneVolume function always
    returned success if the specified volume was found in any way, and
    ENODEV otherwise. The VolXListOneVolume returned ENODEV if the volume
    was not found, or if any error occurred.
    
    DAFS (specifically, commit ed25934c1fe96b143715025b49104e75dce9a361)
    changed these so they both behave the same way. That is, they both
    return success if the volume was found at all, and ENODEV otherwise.
    
    Commit 53cc2ebaea5e5488d5285f0d13ffa47069ee986f changed both of these
    functions so that we always return an error on any attachment error.
    
    These changes mean that a 'vos examine' for a volume with an existing
    volume transaction now indicates that a volume is offline/unattached,
    but in the 1.4 series, the volume was indicated as "busy".
    
    So, restore the original 1.4 behavior of these functions, so the
    volume status is reported as it always was. This effectively reverts
    53cc2ebaea5e5488d5285f0d13ffa47069ee986f, and slightly changes the
    post-DAFS code to look more like the 1.4 code. This also removes the
    'code' variable from VolListOneVolume and adds an explicit comment
    about what's going on, to make this a little more clear.
    
    While changing the behavior of VolXListOneVolume to match that of
    VolListOneVolume perhaps makes sense, for now just restore the exact
    1.4 behavior, and make the function flow look a little more like the
    1.4 code did. A future change may make them the same again.
    
    Reported by Andy Malato.
    
    Reviewed-on: http://gerrit.openafs.org/9679
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 71afa42cdd9107b071fb79f0adaf96c5fcf145da)
    
    Change-Id: I2d7143bf4fde98a11104c5071317a2d2545f41c4
    Reviewed-on: http://gerrit.openafs.org/9915
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit dc02aa435650b1cdf2c2aaa84c143ce19c7707e6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 26 17:00:05 2013 -0500

    volser: Indicate busy volume with VBUSY
    
    Commit 34fc86bcc749f3bd059831b7e5dae03dc09a9393 changed several uses
    of VBUSY to VOLSERVOLBUSY in order to detect retriable operations.
    However, one such change did not change an Rx abort code, but instead
    was used for the 'status' field for a volintInfo or volintXInfo
    structure. That is not really a general error code, but a field with a
    few specific known values (at least, that is how existing clients
    interpret it).
    
    Go back to using VBUSY, so clients indicate the volume as busy,
    instead of as offline/unattached.
    
    Reported by Andy Malato.
    
    Reviewed-on: http://gerrit.openafs.org/9678
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 3929282d2767bd35e54037e5477e917979c84be3)
    
    Change-Id: Ic6efeeca7f37d05704b09a3244bcf40641cae5ea
    Reviewed-on: http://gerrit.openafs.org/9685
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9cf1206f1695a806fa0d5829737fd39bab2db5e3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 23 12:34:44 2012 -0500

    volser: preserve stats over reclones and restores
    
    Optionally, preserve the volume usage statistics instead of clearing
    them during reclone and restore operations.
    
    Reviewed-on: http://gerrit.openafs.org/3312
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit dfceff1d3a66e76246537738720f411330808d64)
    
    Change-Id: I2e47c7ddac74f75b6f650327028644e178cfc574
    Reviewed-on: http://gerrit.openafs.org/9477
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3ddea6c9cc770b3fcc2669b6b43d44deea5f2d03
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 21 13:20:54 2011 -0500

    afsd: Add the -rxmaxfrags option
    
    Add an option to afsd to limit the number of fragments Rx will
    send/receive, called -rxmaxfrags.
    
    Reviewed-on: http://gerrit.openafs.org/4899
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit ba546ecf0c6a404f2efced2e600826621876ffcf)
    
    Change-Id: Idb93fc60b3056604c1d415ac7fc134ee672ceefe
    Reviewed-on: http://gerrit.openafs.org/9430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 86ce4dcac924440c29024906bfda89e8d6f030a7
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed May 29 10:33:44 2013 -0400

    Linux: Remove extra "goto out" from tmpfs fix
    
    Remove a stray "goto out" that should not have been applied in
    this spot along with the tmpfs fix.
    
    Thanks to Stephan Wiesand for pointing it out.
    
    Reviewed-on: http://gerrit.openafs.org/9953
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit f393612d8f0a121d0cb8755f3eb9913c0f09606d)
    
    Change-Id: Ief9521bb41ae1a853b14282b166c62de165a3dc8
    Reviewed-on: http://gerrit.openafs.org/10193
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7a40c83337cb4ff07646ea7c2cc0d6d98be94bff
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed May 22 09:26:57 2013 -0400

    Linux: Fix tmpfs cache support
    
    As of kernel 3.1, tmpfs no longer has a readpage() operation in its
    address space operations.  Some of the cache manager code relies on
    this, causing an oops if tmpfs is used as backing store for the
    cache.
    
    As a minimal fix, detect that there is no readpage() and disable
    the optimizations that depend on it.
    
    Reviewed-on: http://gerrit.openafs.org/9949
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 3767cf8bf420bd59c3426a4287259b1e97178e96)
    
    Change-Id: I4fa0f2449eabf4dc82e5450c0b378b9ebe49d848
    Reviewed-on: http://gerrit.openafs.org/9950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0b591f452e62032fe9f70610b1a671d620e5d724
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 4 09:26:25 2010 -0400

    avoid private stdio fields in waitkey
    
    Use the stdio_ext functions provided by solaris and glibc
    instead of directly accessing private stdio FILE structure
    members. This is needed for 64-bit solaris builds and is more
    portable in general since the FILE structure is meant to be
    opaque.
    
    This is a backport of commit aac929badb5e40a59ae77ae69fc43df8f6f376fc,
    without the changes to remove duplicate code.
    
    Reviewed-on: http://gerrit.openafs.org/3257
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit aac929badb5e40a59ae77ae69fc43df8f6f376fc)
    
    Change-Id: I2953fe9d27edb30365266b1f4372e5fd18baf06e
    Reviewed-on: http://gerrit.openafs.org/9604
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d64031f3b81ed472e91a4e6823068f81ffefb064
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 16 12:10:02 2013 -0500

    vlclient: add -probe option
    
    Add a new option to the vlclient test program to call the
    probe server RPC to ping the vlservers in a cell. Uses a multi
    rx call to do the probes in parallel.
    
    The existing -host option can be used to ping a single
    vlserver.
    
    Reviewed-on: http://gerrit.openafs.org/8911
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bb733da134ce7d7742d5b7359edb36f67ec85632)
    
    Change-Id: I9d26e072fafa3e785bb1bc2eb0d8db43fbc1ff57
    Reviewed-on: http://gerrit.openafs.org/9570
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 22c9c452ec2f4b5a4ebc4d69c1c3e1495c34a382
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Oct 6 08:33:37 2011 -0400

    bozo: build notifier sample program
    
    Build the smail-notifier sample program.
    
    Reviewed-on: http://gerrit.openafs.org/5555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit ac88af748e25a40d062c888396aab8670ff8426a)
    
    Change-Id: Idb845fe0a3f7fd6581f6756b899be140db625123
    Reviewed-on: http://gerrit.openafs.org/9568
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1984f86fcfa094b7e7b2a2c37d8f3690b6e20aa3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 19 14:42:23 2012 -0500

    viced: Clear all client CPS on FlushCPS
    
    Currently the fileserver only finds the first applicable 'client'
    structure (via h_ID2Client) for a FlushCPS operation, and invalidates
    the CPS for it. However, there may be many 'client' structures in
    memory for the given viceid, since we may have many connections for
    the same user (possibly from different hosts).
    
    So, modify FlushCPS to find all relevant client structures, and
    invalidate the CPS calculation on them.
    
    Reviewed-on: http://gerrit.openafs.org/7574
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 387fe294f663abd9c92cd007869e2e9e8cc11d69)
    
    Change-Id: I45b278b59649526b62eb83353cfe31465e79c712
    Reviewed-on: http://gerrit.openafs.org/9487
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0dbe0a8dc7306b17a05685fc5e224b0a4eb0223d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 31 16:15:33 2012 -0500

    vol-salvage: Unlock volumes before exiting
    
    Normally, volume locks acquired by an exiting salvaging process would
    be automatically given up when the process exits, since our FDs are
    closed. However, if we exit by calling Exit() or Abort(), we
    gracefully shutdown our SYNC channels before exiting. For FSSYNC, this
    can result in the fileserver trying to online the volumes we had
    checked out but had not yet checked back in, so the fileserver may try
    to online a volume we have locked, before the locks have been
    released.
    
    To avoid this, unlock all volume locks for all partitions before we
    shutdown SYNC channels on exit.
    
    Reviewed-on: http://gerrit.openafs.org/7514
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit fff80cb1983a8cf7ccf1c1dc4f69e232785700c5)
    
    Change-Id: I08f0ac2c4fb803cf7553a03beaa30439abab4e61
    Reviewed-on: http://gerrit.openafs.org/9480
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c94a12c9a759d8fb4558dd878a6299ca77b35eb1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 16 22:29:24 2012 -0400

    bozo: increase salvage instance poll rate
    
    Increase the bos client poll rate of the salvager temporary bnode
    instance status, from every 5 seconds to 1 second.  This reduces the
    minimum time bos salvage takes, from 5 seconds to 1 second, which
    can add up when doing a large number of volume salvages.
    
    Reviewed-on: http://gerrit.openafs.org/7231
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 2460e132a9ed63714754745fe24f6f3a5712c81d)
    
    Change-Id: Ic86d3f3ed5791f880b41533edcd405a8fec24c0b
    Reviewed-on: http://gerrit.openafs.org/9476
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 903b5847cc017b7164542990dca022f6c41c4ed2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 23 13:02:13 2012 -0600

    salvager: Do not fork for single VG salvage
    
    Currently we always fork a child in the salvager in order to salvage a
    volume group. I believe this is in order to protect SEGV, exit(), etc
    in one salvage operation from preventing salvaging anything else. When
    salvaging a single volume group, though, there appears to be little
    benefit.
    
    In addition, we need to keep the VG salvaging code in the same process
    as the cleanup code for single-volume salvages, so we can know which
    volumes were deleted by SalvageVolumeGroup, so we know which volumes
    to bring back online. So, do not fork for the singleVolumeNumber case.
    
    Note that for DAFS, we already never fork for the entire salvage
    operation when salvaging an individual volume group. So, this is
    effectively a non-DAFS-only change.
    
    Reviewed-on: http://gerrit.openafs.org/6787
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 46e85dd4682a3273e15bbf96c4d5492087555cab)
    
    Change-Id: I545e9ad8d54ad63dbe8e221dfc6947446135cbb7
    Reviewed-on: http://gerrit.openafs.org/9462
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 42a59d23a327380fc94ca2ff04bc5e4ff3bbf305
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 21 18:05:32 2012 -0600

    salvager: Remove VolumeSummary->fileName
    
    The 'fileName' field in VolumeSummary serves two apparent purposes:
    
     - Storing the filename of the volume header file (V0XXX.vol).
    
     - Indicating whether or not a given VolumeSummary object is
       referenced by any inodes on disk. fileName is set by
       AskVolumeSummary/GetVolumeSummary, and is cleared in
       SalvageFileSys1 when a matching inodeSummary entry is found.
    
    This is very confusing. The first purpose is completely unnecessary;
    we can always calculate the filename from the volume id for the
    volume, and we already enforce the filename to be of that specific
    format. The second purpose is very unclear in the current code, and
    overloads the meaning of the field.
    
    So instead, remove fileName entirely. Code that was using it to locate
    the header file are changed to use VolumeExternalName_r. Code that was
    using the field to determine if the volume is "unused" is changed to
    use a field just called "unused", set to 0 or 1.
    
    Reviewed-on: http://gerrit.openafs.org/6786
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2a1719faa810663d6d9cf774339e286c18ef2717)
    
    Change-Id: I295ef6c982991bdeeb533c55e6ba6d3175789ce6
    Reviewed-on: http://gerrit.openafs.org/9461
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ac0ce5d6ef57206cbad7dc2779c371a6b7bd46e4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 31 17:22:12 2011 -0500

    salvager: Error volumes on GetInodeSummary errors
    
    When GetInodeSummary fails due to an internal failure (not from just
    failing to find applicable inodes), currently it just returns an
    error, and does not return the checked-out singleVolumeNumber back to
    the fileserver.
    
    When we fail to gather inodes, we should force the volume to an error
    state, since we haven't salvaged the volume. But if we fail to find
    any applicable inodes, we just want to VOL_DONE the volume, since the
    header has possibly been destroyed, and the volume doesn't exist.
    
    So, issue an FSYNC_VOL_FORCE_ERROR command when we encounter errors in
    GetInodeSummary, except when we fail to find applicable inodes.
    
    Reviewed-on: http://gerrit.openafs.org/4439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 8084fc28a3069949bdc788f048fa8a96c012b96d)
    
    Change-Id: I64e8e1ac8e3386d09a3bcd7696a2d0f70ded33b0
    Reviewed-on: http://gerrit.openafs.org/9459
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3648401e204a9d447766ff0999d747b24aebdc55
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 21 17:46:41 2012 -0600

    salvager: Do not require MaybeZapVolume fileName
    
    In MaybeZapVolume, currently we do not remove the volume header if the
    given isp->volSummary->fileName is not set. This effectively means
    that we only actually "zap" volumes for which we have just created the
    header, or which are not referenced by any inodes.
    
    For readonly volumes that have errors, we want to delete the volumes
    instead of salvaging. Readonly volumes with valid headers will have
    fileName as NULL, though (set back in SalvageFileSys1), so
    MaybeZapVolume will refuse to remove them. What ends up happening is
    that the headers will stay around, but since we do not finish checking
    the volume, all of the inodes for the data in the volume will be
    dec'd. This results in a volume whose header exists, but none of its
    inodes (including special inodes) exist, so the volume will need to be
    salvaged again, and during that salvage will be deleted (because there
    are no inodes for the volume).
    
    Avoid all this, and just delete volume headers for volumes that lack a
    valid fileName. Instead try to avoid deleting headers with
    volSummary->deleted set, just so we don't try to delete the same
    headers twice.
    
    Related issue reported by Åsa Andersson.
    
    Reviewed-on: http://gerrit.openafs.org/6784
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 839638870986ebd4cf992f7a2c81a23e37c14228)
    
    Change-Id: I0008d46d07c2ce763e70605b9260a7f71a86044a
    Reviewed-on: http://gerrit.openafs.org/9458
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 98222fb3b0b9adebb734195c7c21f646fc7c9b70
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 21 17:40:46 2012 -0600

    salvager: Do not set fileName on header fixup
    
    Currently, SalvageVolumeHeaderFile will set isp->volSummary->fileName
    to a new string whenever the volume header needs to be created or
    re-written. When control reaches back to SalvageFileSys1, this can
    cause DeleteExtraVolumeHeaderFile to delete the header, since
    vsp->fileName is used as a sort of indicator to see whether or not a
    volume has been referenced by the inode summary.
    
    When we create a new header, we avoid this because we allocate a new
    VolumeSummary struct, which is not caught by the last
    DeleteExtraVolumeHeaderFile for loop in SalvageFileSys1. However, we
    do delete the header when we simply re-write a header, since we use
    the existing VolumeSummary struct. Set fileName in neither, for
    consistency.
    
    Reviewed-on: http://gerrit.openafs.org/6783
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 76f12c2389fd2a8e09b4e869730169401d154ce9)
    
    Change-Id: I4d59de02a190a6d175735482aa102a496407f32a
    Reviewed-on: http://gerrit.openafs.org/9457
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 91dd02f73529cca3bd105ada62b5e51f9b60f416
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 23 18:31:10 2011 -0500

    fuse: Autodetect Solaris 11 FUSE
    
    FUSE exists in Solaris 11, but it does not come with a fuse.pc
    pkg-config configuration. Autodetect the presence of FUSE anyway.
    
    Reviewed-on: http://gerrit.openafs.org/6422
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 2e5545342b0c644546f8a370bdbf836a6da68b60)
    
    Change-Id: Ib9ef1702af1ff20d836b1c1649fc1182c93e209b
    Reviewed-on: http://gerrit.openafs.org/9455
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f048005be43287768b7fac28907f063eea07d2cd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 21 23:19:01 2011 -0500

    afsd.fuse: Solaris 11 support
    
    The FUSE in Solaris 11 has a couple of quirks; work around them.
    
    Reviewed-on: http://gerrit.openafs.org/6421
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 98a6db0b047efcfbeb0fb3c8b1e4e136b206f10d)
    
    Change-Id: I6036c6e599c1fe57bae79516cb4333219afd75cf
    Reviewed-on: http://gerrit.openafs.org/9454
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 134c0b631ee45c162064c723c11bcb8e371fe7d7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 2 16:06:42 2011 -0600

    fuse: Add -oallow_other by default where possible
    
    By default, fuse mountpoints are only accessible by the same uid as
    that which mounted the fuse filesystem. When we're running as root,
    specify -oallow_other so by default anyone can access the afs
    mountpoint.
    
    Reviewed-on: http://gerrit.openafs.org/6390
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 83d3084e95ac025660f0b8064f49400eb94bfb60)
    
    Change-Id: I4c2217bc18502d8b761645f38522c02fc91c4084
    Reviewed-on: http://gerrit.openafs.org/9452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9e9bce4b5ff987ce72a7923ca2d2765797d47f5b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 22 17:09:18 2010 -0500

    Remove the global tempHeader/stuff structures
    
    Currently, volinodes.h defines an array ('stuff') for easily accessing
    information about different inode types. Part of the array points to
    parts of a global 'tempHeader' structure, making this not threadsafe.
    Change this into an interface which utilizes local storage to make
    this threadsafe and remove those horridly-named global variables.
    
    This adds the init_inode_info static inline function, for initializing
    a local inode information table.
    
    Reviewed-on: http://gerrit.openafs.org/1869
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit d8f2debce49a8a0eb310bdaf8ad0ee7601a0542e)
    
    Change-Id: I1567e9184327b1cfa397b0bf37d611c2e8c2b8a1
    Reviewed-on: http://gerrit.openafs.org/9409
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f0ce80536adc9c6fa7b42286e999c325516695d3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Dec 21 18:26:18 2012 -0500

    vol: correct old conditional for IH_CONDSYNC
    
    Two places in the vol package performed IH_CONDSYNC(vp->linkHandle)
    only if AFS_NT40_ENV.  This was correct when the namei implementation
    was windows only; however, this ifdef was apparently overlooked
    when namei was implemented for UNIX.
    
    Reviewed-on: http://gerrit.openafs.org/8815
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 19f424ecc26b02b210a3ba54b93846dddba14ede)
    
    Change-Id: I944004d77ab17938465aa39f37d931df0adcd725
    Reviewed-on: http://gerrit.openafs.org/9510
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fea397b0433ae3cc1155a3f826b0776eee23a497
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 28 17:22:21 2012 -0600

    vol: Let non-usable volumes attach for non-DAFS
    
    Before DAFS, volumes that were not inService/blessed were not
    accessible by normal clients, but were still allowed to attach. That
    is, access to clients was prevented at VGetVolume-time, rather than at
    attach-time. Commit 939382c5 tried to short-circuit this by detecting
    this volume state at attach-time. However, volume utilities (e.g.
    volserver) can give us back a volume over FSSYNC when they are done
    with the volume, and for non-DAFS, we then try to attach the volume.
    So, with 939382c5 that attachment will fail when volserver gives us
    back a volume that is not inService/blessed (which can happen for some
    normal volume operations).
    
    This situation is not terrible, since either way the volume is not
    usable by clients (since the volume didn't attach), and the volume is
    still usable by volserver (since volserver is allowed to check out
    nonexistent volumes). But it is a deviation from pre-DAFS behavior and
    it can result in confusing error messages, so revert the 939382c5
    behavior for non-DAFS.
    
    For DAFS, this behavior is fine, since the fileserver does not attach
    a volume unless it is trying to service a client request. So, leave it
    for DAFS.
    
    FIXES 131505
    
    Reviewed-on: http://gerrit.openafs.org/8557
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 988f66c5c3bd4c4f23bfa53e69a52ed52c4e3ab9)
    
    Change-Id: I08b55b30047fc19788e2c83ada1ecd80456f1f74
    Reviewed-on: http://gerrit.openafs.org/9499
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 115299e8aeedefa1c3f64e65f91a4ea0a5a2427f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jun 18 17:16:02 2012 -0400

    vol: avoid attach retry loops on SYNC_FAILED
    
    Avoid unnecessary volume attach retry loops if a volume
    salvage is unable to be scheduled due to a hard error.
    
    Reviewed-on: http://gerrit.openafs.org/7566
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit dda5cc0c5f7172aa4edf58c0f876c8bf05590889)
    
    Change-Id: I93760c1bd337a76079bf03dcba1d9c4e32cd692e
    Reviewed-on: http://gerrit.openafs.org/9483
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8ff592b56d2ed74a01da8090637e06cab2cc1c19
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 31 17:45:56 2012 -0500

    vol: Avoid getting stuck in ATTACHING in attach2
    
    Since commit 5fc2365f, a VNOVOL error early in attach2 meant that we
    skipped changing the volume state to anything, and just returned
    instead. When we do this, the volume is in VOL_STATE_ATTACHING for
    DAFS, and so if we return, the volume will forever be in
    VOL_STATE_ATTACHING. The next thing that tries to access the volume
    will wait forever for the volume to come out of that state.
    
    So, revert half of 5fc2365f, and transition to ERROR state instead.
    This code path should not be hit during normal usage, since a
    nonexistant volume access for the fileserver will be detected earlier.
    If the volume does not appear to exist at this stage of attachment,
    something is wrong with the volume, so this warrants the ERROR state.
    
    For the volserver and other volume utilities, we may hit this when a
    request just plain references a nonexistant volume for whatever
    reason, but in that case the vp should go away soon. For non-DAFS,
    this commit does not change much, since the difference between
    error_notbroken and unlocked_error is very small.
    
    The other half of 5fc2365f is not changed, since it is correct. For
    VOFFLINE errors at this point, the volume has already been
    transitioned to VOL_STATE_UNATTACHED, so it is okay to return. Add a
    comment to help make this more explicit.
    
    Reviewed-on: http://gerrit.openafs.org/7516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 4f9c3f2be9abd5548dd52888b49c407d574b6557)
    
    Change-Id: I8e2b9d2a114f8aea283145ca44bf8ae52c354908
    Reviewed-on: http://gerrit.openafs.org/9482
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e7c6ff13868cfbf0c3374b52877a2d9d932dfa3e
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Jul 23 14:30:20 2013 -0400

    Do not expose afs_assert.h from other public headers
    
    afs_assert.h redefines the standard assert macro, which is evil and
    breaks some applications that might want to include our public headers
    (e.g. some versions of Cython).  This was fixed on master by commit
    cac74242728ad97e3ce9cef0a949d58c237250f6, which removes afs_assert.h
    entirely and adds opr_Assert.  Since that patch may be too invasive
    for 1.6.x, here’s a minimal patch that just stops exposing
    afs_assert.h from our other public headers.
    
    Change-Id: I39a7b9ae8d43cfe0059e10e47ce4b1c22e01c544
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/10096
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5640a55409fe88642b8b1ef55449052f22d65092
Author: Derrick Brashear <shadow@dementix.org>
Date:   Mon Nov 21 12:06:59 2011 -0500

    ihandle: don't keep reallyclosing future fds
    
    given that we can mark something invalid for future use, ever,
    once we have done so for all fds, we ih_reallyclose is done.
    don't persist the setting to the detriment of new fds
    
    Reviewed-on: http://gerrit.openafs.org/6101
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 2332ee3aa8e21738ed4aa42b53edd4e2ae0a2984)
    
    Change-Id: Ic77354893101acda867aa8e4c8ea7a2932666d5b
    Reviewed-on: http://gerrit.openafs.org/9490
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ab524b5ed55bdcd296bea28ec717c0708e0c2553
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 31 16:41:15 2012 -0500

    DAFS: Preattach, not attach, in FSYNC_Drop
    
    FSYNC_Drop currently attaches volumes that were checked out by the
    dropped fssync handler, but not checked back in, in order to make the
    volume available again. For DAFS, however, a full attachment is
    unnecessary; just preattach instead.
    
    Reviewed-on: http://gerrit.openafs.org/7515
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit a43f0e4717fd72727ae325eb4437cef065419cdd)
    
    Change-Id: Iaa2320808c4855516192b164de9778c9019a4559
    Reviewed-on: http://gerrit.openafs.org/9481
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 821bfd32682164f29228770c8152d68f37837b4b
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Aug 14 23:31:46 2013 -0400

    Eliminate pointless changes between nbsd50/60 params
    
    param.nbsd60.h removed AFS_64BIT_ENV and added an empty expression
    to an #if.
    
    AFS_64BIT_ENV is required for any platform to build (on 1.6)
    This is a 1.6-only change. On master, AFS_64BIT_ENV was removed entirely
    in commit fc9aa428.
    
    Change-Id: I57d7e2a2ef5ab4bf787a99083d35ba70e240710c
    Reviewed-on: http://gerrit.openafs.org/10137
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Tested-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5cdc211b8bf1b3f5419ebe52ecc9d3772ffdf9a6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Oct 27 17:53:47 2011 -0400

    auth: avoid excessive stat of cellservdb
    
    The modified time resolution is one second, so only
    stat the cellservdb file at most only once per second.
    
    Reviewed-on: http://gerrit.openafs.org/5743
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    (cherry picked from commit 0e3bfa033ed230fcb46ad8e3c26c8b7aae6e00af)
    
    Change-Id: Ia533d037cc772c085cfaad47035e2a29df64952e
    Reviewed-on: http://gerrit.openafs.org/9435
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e77d5cea4a11677fea03abb2eb88717a1b686a94
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 2 16:55:49 2011 -0500

    afs: Do not use separate array for srvAddrs
    
    The array of srvAddr structs we use in afs_LoopServers have indices
    unrelated to the indices of conns, rxconns, etc. Several places were
    assuming that addr[i] corresponded to conn[i], which is not
    necessarily true. So instead, do not use the separate addr array
    (except when populating the conn and rxconn arrays), and just get the
    srvAddr structure by going through the relevant conn[i].
    
    Reviewed-on: http://gerrit.openafs.org/5790
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit f199ac666195771a02e3ebb040c6e5fe47c58c58)
    
    Change-Id: I70be3c518d2b1ccd51e050532d966a27cf22090f
    Reviewed-on: http://gerrit.openafs.org/9434
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b324d126c899dfe38d8eb8be8074beca60fdbb4c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 9 04:00:16 2013 -0400

    libafs: initialize hard mount last errors
    
    Initialize the values of the server last errors
    introduced in commit 94a8ce970d57498583e249ea61725fce1ee53a50
    to avoid logging garbage for the last error codes.
    
    Reviewed-on: http://gerrit.openafs.org/10082
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 495d6fcbba1630b136d9c1b4256f0a71666a8a7b)
    
    Change-Id: I4402838d761ab4bbb3e0798f219dfb825347b090
    Reviewed-on: http://gerrit.openafs.org/10085
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9ad6dfb3508bfcf658c0223adcf019840423782a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 15 16:58:42 2012 -0500

    viced: Restrict RXAFS_FlushCPS to administrators
    
    RXAFS_FlushCPS currently can be run by anyone, including
    unauthenticated users. Forcing CPS calculation can be a relatively
    resource-intensive operation, though, if done frequently enough, and
    only should need to be done by administrators. Thus, only let
    administrators use it.
    
    Reviewed-on: http://gerrit.openafs.org/7572
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 568adf7d18eb17a42caa263aabc92a686f0ae121)
    
    Change-Id: I715e7ede7ea92be65a134116ecb4d1b7e2ccd264
    Reviewed-on: http://gerrit.openafs.org/9485
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9a533f1661e322629f027c8755d07fe262ee926b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 19:21:04 2012 -0400

    viced: Do error translation for InlineBulkStatus
    
    When a host has requested universal errors, error code conversion
    is performed in the CallPostamble. However, the InlineBulkStatus
    errorcodes are passed as part of the data set, not as RX errors,
    so this translation is not performed.
    
    Fix this so that we also translate error codes that are part of
    the InlineBulkStatus response.
    
    Reviewed-on: http://gerrit.openafs.org/6992
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    (cherry picked from commit 9498cebd11ac26ed7986b5496440159f7ef745f2)
    
    Change-Id: Ia5b2d95e05bed0fb89aeb6132008d58de68c96a0
    Reviewed-on: http://gerrit.openafs.org/9467
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 53005f4fe7b6df5263d399f0aec9fee3078e39bc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 12 10:57:09 2011 -0500

    viced: Enable NAT ping on hosts
    
    Turn on NAT ping on the Rx connection for the callback channel for
    hosts. This should help improve behavior for clients behind NATs and
    stateful firewalls, even for clients that predate NAT ping
    functionality.
    
    Reviewed-on: http://gerrit.openafs.org/4646
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit aafdc08cfc49da4c23ecd91f9e690fd70e95df55)
    
    Change-Id: I428b6648276ec49fd4f003b3cf2d88a07c8aa1d9
    Reviewed-on: http://gerrit.openafs.org/9420
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 49a1ef5edfcbfcb411889081d89bc5c112e9033c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Mar 12 22:13:20 2013 -0400

    dafs: prevent corruption in large fsstate.dat files
    
    If while writing to the fsstate.dat file, it exceeds the current
    size of the file (multiples of FS_STATE_INIT_FILESIZE (8MiB)),
    we call fs_stateResizeFile.  This un-mmaps, truncates, and
    re-mmaps the file.  Unfortunately, fs_stateMapFile() resets the
    state->mmap.offset and .cursor, so any writes in flight over
    the resize will overwrite the first bytes of the file (and leave
    zeros in the file where the data should have been written).
    
    Upon return from the write that caused a file resize, the offset
    is eventually corrected and the state dump continues with a
    silent failure.  Eventually the state dump completes and the
    file header is rewritten; this may conceal some or all of
    the overwrite damage at offset 0.  However, any zeros near the 8MiB
    offset (and its multiples) remain as corruption.
    
    Add a flag to fs_stateMapFile() to allow the caller to specify if
    the offset and cursor should be preserved.  Modify fs_stateResizeFile()
    to use this capability.
    
    testing note: temporarily reduced FS_STATE_INIT_FILESIZE to 256 bytes
    during testing in order to make the problem easier to reproduce.
    This problem would normally occur only on relatively large/active
    DAFS fileservers.
    
    Reviewed-on: http://gerrit.openafs.org/9599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 42351db75e04e46012208d38f80dc17be7ab776d)
    
    Change-Id: I05a01ebce15e26534361863ed0f8d3161c3f8240
    Reviewed-on: http://gerrit.openafs.org/9683
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bad0b13a17183c93c926c694270dc18964ff443c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 8 13:58:25 2012 +0100

    fileserver: Fix NeverAttach support
    
    Commit 35becabed870d4bfe49abaa499d99a3ffb0a2d31 added support for
    the /vicepXX/NeverAttach. However this code only appears to work on
    Linux. It fails build testing on (at least) Mac OS X, FreeBSD, and AIX.
    Modify the code so that the NeverAttach call uses the same variable to
    locate the path of the partition as the AlwaysAttach call does.
    
    Reviewed-on: http://gerrit.openafs.org/7125
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 709a6358e1d1f6cc0b025522e1e595c50bb2b733)
    
    Change-Id: I2f142084fdb4e66c3e7841c9ac961cab417633a0
    Reviewed-on: http://gerrit.openafs.org/9471
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fe524cc1a401e9c8ee57a00960bf47a24d29251e
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Fri Apr 6 20:58:13 2012 -0400

    Fileserver: Add the /vicepXX/NeverAttach flag to skip mounting a partition
    
    FIXES 130561
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/7108
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    (cherry picked from commit 35becabed870d4bfe49abaa499d99a3ffb0a2d31)
    
    Change-Id: If14e0145404dcb81fb5d2184c0991fa3ca64a1df
    Reviewed-on: http://gerrit.openafs.org/9470
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fa147c02bcbc6c4f55a8100dafe4c29ee1290117
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 7 14:46:04 2012 -0400

    libafs: fs flushall for unix cm
    
    Implement the fs flushall command on the unix cache manager to flush
    all volume data.  Uses a new common pioctl code point VIOC_FLUSHALL (14),
    registered with the grand.central.org assigned numbers.
    
    Reviewed-on: http://gerrit.openafs.org/7540
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 4197bbecd9d0b2ff0b8eaec75a0df9a64f713cf0)
    
    Change-Id: Ia4e9eb070d279bf05dbe38ea9b99f1f2f6b9c6f0
    Reviewed-on: http://gerrit.openafs.org/9390
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 25e11eea9f9b0aac20ed495bdf306329a00c2fd1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 7 13:54:20 2012 -0400

    libafs: avoid flushing already freed dcaches in flush volumes
    
    When flushing volume data, skip flushing dcache entries which
    are already freed.
    
    Reviewed-on: http://gerrit.openafs.org/7539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 82865811e49aae8b7b8ff9f5d995dc32518b9eb8)
    
    Change-Id: I88c9940748dcf7d179fcc2327cddcf222314560d
    Reviewed-on: http://gerrit.openafs.org/9389
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ae5e71b4e25eb2aac9b7923ceb17909fa0c22438
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 7 12:58:54 2012 -0400

    libafs: use afs_ResetVCache in flush volume data
    
    Remove some code duplication by using afs_ResetVCache
    in the flush volume data pioctl. Adds a flag to
    ResetVCache to avoid unneeded calls to purge dnlc
    when reseting all the vcaches in a volume.
    
    Adds freeing of vcache link data in the flush volume
    data pioctl.
    
    Reviewed-on: http://gerrit.openafs.org/7538
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 36c6c46bd081e0278611c3bb6ae25dd765f10648)
    
    Change-Id: I0c4a001c20633a404c299359914f2368b4492901
    Reviewed-on: http://gerrit.openafs.org/9388
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit de79977537f46cfc670136b8e5f7162e0f87c689
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 1 15:34:26 2010 -0500

    Cleanup VOffline log message for non-DAFS
    
    Commit fd592c7674d4aa44dda90998b54d7b56947f6ed8 fixed the 'Volume X
    (Y) is now offline' message for DAFS, but the same problem persists
    for non-DAFS. Fix the non-DAFS case.
    
    Reviewed-on: http://gerrit.openafs.org/3213
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 138ac6577eab40e25a796f7c18f3c39add000ed2)
    
    Change-Id: I3e0c53d93bcaad43a9fd7b20ccf32bc216601455
    Reviewed-on: http://gerrit.openafs.org/9412
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b2401a892177a56a519011ced023616080042156
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 3 16:11:38 2011 -0600

    volser: Do not reset copyDate in ReClone
    
    When we ReClone in the volserver, do not reset the clone's copyDate to
    the current time. If we retain the copyDate between ReClone
    operations, then we can know when the clone was first created (and
    thus makes local RO clones more consistent with remote RO sites).
    
    Reviewed-on: http://gerrit.openafs.org/3892
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 112b9b35fc701ca26ba7f99c31a73a7a1eecbdc0)
    
    Change-Id: Ifd84a161125bd14799fab2f75f321ca164ef39d2
    Reviewed-on: http://gerrit.openafs.org/9451
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2a0f2de71841ddff402390457b80443bb9ac30ca
Author: Derrick Brashear <shadow@dementix.org>
Date:   Sun Nov 27 10:42:59 2011 -0500

    namei: force-close fd on read or write error
    
    if we errored, just reallyclose so we'll get a new fd
    
    Reviewed-on: http://gerrit.openafs.org/6126
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 730832073a1e87654f28bfff054e24d4170c01dc)
    
    Change-Id: I019b38b6670d3a45b774740d324d5d49e23f94d1
    Reviewed-on: http://gerrit.openafs.org/9436
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d43bdbb42a7f7a5663f0944c4e672ca81aa7b940
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 19 18:19:29 2011 +0100

    vlserver: Use correct base value when replacing
    
    When we're removing existing address entries the code calculates
    a base and index value for each entry that we're removing an address
    from. However, it then _uses_ a previously calculated base value,
    with the new index. This works fine if the old base and the new base
    match, but if they don't, chaos will ensue.
    
    Fix to always use matched base and index pairs.
    
    Reviewed-on: http://gerrit.openafs.org/4771
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit a180b0c5d8991a14f1fbd78d81dcb4754a24f4d3)
    
    Change-Id: I37372f020ad644f30b6dbdd1ed68b56eb1c0f2e2
    Reviewed-on: http://gerrit.openafs.org/9429
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c155fa4fe2a2c6ebc2da31083c24ddeb355b5700
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 21 15:54:33 2010 -0500

    vlserver: Access cache via vl_ctx
    
    The vlserver application-level ubik cache (which consists of
    HostAddress, ex_addr, and cheader) is currently being accessed via
    global variables everywhere. Instead, access these via the new vl_ctx
    struct that is passed to functions during a transaction, so we have
    the ability to modify the cache without making all changes visible as
    we change it.
    
    Reviewed-on: http://gerrit.openafs.org/2105
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 1f532d099b8b084d43dd0140890448464325b602)
    
    Change-Id: I161b6c41e104af045941663f78148037313036ee
    Reviewed-on: http://gerrit.openafs.org/9422
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 08745d9e2abf92d2d99dc44ffd8fe7db658b6606
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 21 11:12:50 2010 -0500

    vlserver: Add a struct for trans-specific data
    
    Instead of passing a ubik_trans pointer to many functions inside the
    vlserver, pass a vlserver-defined vl_ctx struct, so we can add new
    things to keep track of in a transaction that are not part of ubik.
    
    Reviewed-on: http://gerrit.openafs.org/2104
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 3bf0350218dcf4d6e086941fac394769b6b9cc4a)
    
    Change-Id: Ic224f1fab7505b486baa0a41e5481bc615f00826
    Reviewed-on: http://gerrit.openafs.org/9421
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2870a6278079dd070aed278c8560cc0bc5590d36
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 12 10:21:09 2011 -0500

    viced: h_SetupCallbackConn_r in removeAddress_r
    
    removeAddress_r has some code that is identical to the
    h_SetupCallbackConn_r function. Call the function instead.
    
    Reviewed-on: http://gerrit.openafs.org/4645
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 0376255747ac17ed41afbc219f5a5978e58d8e9c)
    
    Change-Id: I9f7b4fbc6059a15b30d675a7c78ac9ff00ba32b0
    Reviewed-on: http://gerrit.openafs.org/9419
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ec46d5af2e2b85caa6a2a9ddd3527ceccebdf32a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 12 16:14:55 2012 -0600

    LINUX: Avoid multiple d_invalidate loops
    
    Currently, in afs_linux_lookup, we put an artificial limit on how many
    times we loop through all dentry aliases, trying ti d_invalidate all
    of them. Instead of using an arbitrary limit, we can just go through
    all of them once, by using d_prune_aliases. This should be faster, and
    removes some of the logic required here.
    
    Note that this does remove our check for DCACHE_DISCONNECTED in each
    alias' d_flags.  This should not be a problem, since we will still use
    any remaining DCACHE_DISCONNECTED dentry via d_splice_alias if one
    still exists.
    
    Reviewed-on: http://gerrit.openafs.org/8751
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 370aaaeafa43f804b0a5286d92b4ec5f1ccb62be)
    
    Change-Id: I1aa70afe8268852c676f241e0189bc010ad757aa
    Reviewed-on: http://gerrit.openafs.org/9288
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b645fd18a2686d0a098261dc4a1a5b54a44e8adf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 4 15:49:56 2012 -0500

    DAFS: VRS_r with VOL_SALVAGE_NO_OFFLINE in attach2
    
    One caller of VRequestSalvage_r in attach2 was not passing the
    VOL_SALVAGE_NO_OFFLINE flag. This really should be passed for every
    place that manually sets vp->nUsers = 0, since then the VPutVolume_r
    handlers will never fire.
    
    Reviewed-on: http://gerrit.openafs.org/8203
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 3237543afafae7191635fd8e8cada1f95e8abcff)
    
    Change-Id: I44a9a56b849bc3c1473b290961190a47ad45f5b5
    Reviewed-on: http://gerrit.openafs.org/9283
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8940b7436ab6828b7053d2f6c97cc7f9ae0930f4
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 19 16:48:23 2013 -0400

    db_dump.o depends on budb_errs.h
    
    Add INCLS and budb_errs.h accordingly.
    
    In contrast to master, budb did not have this already.
    
    Reviewed-on: http://gerrit.openafs.org/9996
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 7af86ecffb737b050f67908b63f247e8361eacdc)
    
    Change-Id: Id8657c39d58a1f73e07bf5d9a5324cb343b3888b
    (cherry picked from commit e6d1db4643d023eda837c8ae37b82b0dc7d5ee4d)
    Reviewed-on: http://gerrit.openafs.org/10005
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6a1c2d4a69471746978a9f2e95d1552f2f8f1a94
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Jul 23 14:37:26 2013 -0400

    volume_inline.h: Down with assert, again
    
    Commit 34767c6a0f914960c9a1efabe69dd9c312a2b400 replaced all assert
    calls in this file with osi_Assert, but shortly thereafter, commit
    db6ee95864a8fc5f33b7e95c19c8ff5058d37e92 added VTimedWaitStateChange_r
    with two new assert calls.  These are precarious in a public header;
    fix them to osi_Assert like the ones in VWaitStateChange_r.
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/10094
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 30fa9480dd99ed93fa642dd8ce9746760fb42180)
    
    Change-Id: Id0bc0e75de000cf3e4133aaf31f52d9a565c8d9f
    Reviewed-on: http://gerrit.openafs.org/10095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 00fd34a65c7914bfd480d892cc95e9f694e29f5f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 1 11:51:42 2012 -0500

    afs: Handle easy GetValidDSlot errors
    
    Many callers of GetValidDSlot currently assume they will always get
    back a valid dcache, and will panic on getting NULL. However, for many
    of these callers, handling the NULL case is quite easy, since the
    failure to get a dcache can just result in an error directly, or
    obtaining the dcache is best-effort or just an optimization.
    
    This commit just handles the "easy" cases; some other callers require
    more complex handling.
    
    Reviewed-on: http://gerrit.openafs.org/8375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit f74a0a7bbb37a8ab6050e833cf8d66abdff31854)
    
    Change-Id: Ic2c463edebcb821562541004bd4181483c90c3e6
    Reviewed-on: http://gerrit.openafs.org/9287
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bb80282ba95b23c85cc5f287ed174e37b4d374a7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 31 15:04:55 2012 -0500

    afs: Make last_error always useful
    
    Currently we record last_error as the last getuerror() we got when
    failing to read in a slot in UFSGetDSlot. For kernels that do not have
    getuerror(), this variable is currently useless, and we do not record
    anywhere what the last error received was (besides logging it via
    afs_warn).
    
    So, for non-uerror, just record what 'code' we got, so we at least
    have something.
    
    Reviewed-on: http://gerrit.openafs.org/8369
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 48b60478897e7cb22e9cc1adfa3b71c188572093)
    
    Change-Id: I32a079934c8d3ecd3d7316cfc7eb8da01580a08e
    Reviewed-on: http://gerrit.openafs.org/9286
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f61880266f476fefbeacbe2a7af1e397b0ddadc3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 22 17:54:12 2012 -0500

    salvager: Trust inode-based special data over OGM
    
    Currently the salvaging code looks for special inodes, and infers the
    volume id and inode type from the OGM data in each special inode file.
    However, we can already derive this information from the inode number
    itself for the special inode, so if they disagree, use the values
    based off of the inode number and correct the OGM data.
    
    The inode number should be more likely to be correct, since that is
    how we look up the special inode from the header when attaching the
    volume. It is also impossible to get special inode files with the same
    name, so this ensures we don't get duplicates. And for people that go
    snooping around /vicepX/AFSIDat even though we tell them not to, it
    seems more likely that they go around 'chmod'ing or 'chown'ing rather
    than 'mv'ing.
    
    This change avoids an abort in the salvaging code when the OGM data is
    wrong. If we trust the OGM data when it is incorrect, we assume the
    special inode file is for a different volume. So when we go to
    recreate one of the special files for the volume we're actually
    working with, the IH_CREATE fails (from EEXIST) and so we abort.
    
    Reviewed-on: http://gerrit.openafs.org/6946
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit df522b588396aaac3ec662b516ef7287f3b7c47b)
    
    Change-Id: I7ae826b6d6747e3ab3a1d8086ff17503a904a6d5
    Reviewed-on: http://gerrit.openafs.org/9282
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b4f321f207f710bd62be53f653f45439e94992e0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 23 13:02:22 2012 -0500

    namei: Abstract out OGM functions a bit more
    
    Add GetWinOGM and SetWinOGM for getting and setting the
    Windows-equivalent of the Unix OGM data. Make those and CheckOGM use
    GetFileTime/SetFileTime so we can operate just via an FD_t, without
    needing the full pathname. Modify the NT namei_icreate to use
    SetWinOGM.
    
    Reviewed-on: http://gerrit.openafs.org/6945
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 0594fc80b48152b4b03edda7e19133b59fc0670e)
    
    Change-Id: I65491a9a82911d9c99d6238a4ea66ed400db7aa0
    Reviewed-on: http://gerrit.openafs.org/9281
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 514fc63db0664f263ce0b5a9b37e6f97bbeec440
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 31 15:58:41 2013 -0500

    budb: Do not use garbage cellinfo
    
    If the -servers option is given, we never initialize cellinfo or the
    clones array. So, don't give the cellinfo structure or the clones
    array to ubik in that case, or we may crash or do other weird things.
    
    This issue appears to have been introduced in commit fc4ab52e.
    
    FIXES 131706
    
    Reviewed-on: http://gerrit.openafs.org/10115
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 6b0016dd992b3215cb17c93812e14de9e4916d25)
    
    Change-Id: I7174d3ac596fb9ecf512aa159fdc839714f8791c
    Reviewed-on: http://gerrit.openafs.org/10166
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2ee9f04c1cd26b93d6b773c4eec329a0d04648ea
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 10 18:00:25 2012 -0500

    xstat: length check cm call info
    
    Define the cm xstat function call counters with an xmacro to avoid
    duplicating the list of cm function names.  This obviates the need
    to update xstat_cm_test.c when new function names are added to the
    cm xstat collection id 0.
    
    Check the number of returned records when printing the function call
    counts to avoid over-running when a newer xstat_cm_test client
    receives data from an older cm.
    
    Reviewed-on: http://gerrit.openafs.org/8741
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 09c0484fd8878797957f7ff5936c542a0f6332c4)
    
    Change-Id: I622a4f16cbb102962199f26e5431b04ea381d5fe
    Reviewed-on: http://gerrit.openafs.org/9065
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 008a0965615d0a16eb1eb402e4d240ebd70e73c2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 2 14:38:20 2012 -0500

    afs: Avoid tracking file locks for RO volumes
    
    Advisory file locks for RO volumes don't make a lot of sense, since
    there are no possible writes to worry about. The fileserver already
    does not track these, so don't even bother processing them in the
    client.
    
    Reviewed-on: http://gerrit.openafs.org/8197
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 0fc27471e7da0c5de4addcdec1bfbca5208072cc)
    
    Change-Id: I308d930c94708fd8d9025886c10f40cc4d10d195
    Reviewed-on: http://gerrit.openafs.org/8910
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 220336585530ff9f0b4b1e3b47e3dd6727a18ab3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 11:52:01 2013 +0000

    libafscp: NULL return value not pointer
    
    When afscp_FindCallBack sets its return-by-reference value to NULL,
    it should do so to the value itself, not the pointer to it.
    
    Caught by coverity (#988419)
    
    Reviewed-on: http://gerrit.openafs.org/9266
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 99929488511d13dab94491cac1d477062f9da741)
    
    Change-Id: I046189684cef6c88c46455a90ab49d03da1f1cab
    Reviewed-on: http://gerrit.openafs.org/9359
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2d3ae77f9f26f64c88415a2e063e28c2cebeed1c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:53:11 2013 +0000

    libafscp: Actually return callback from FindCallback
    
    Fix FindCallback so that it actually returns the callback that it
    found. This requires changing the function prototype so that the
    third parameter is passed by reference, and updating the single
    call site.
    
    Caught by clang-analyzer
    
    Reviewed-on: http://gerrit.openafs.org/9198
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit f67e4a3cdfb1856e31dda0d4741c8d34df13f8fc)
    
    Change-Id: Ia610993535acc68beef7e8cffcfac77db2638aa4
    Reviewed-on: http://gerrit.openafs.org/9973
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ac750113f34bcd03df3350ec9863b7b3c67efa25
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Dec 21 17:56:14 2012 -0500

    dafs: preattach should wait for exclusive states
    
    In rare circumstances an FSYNC_VOL_ON operation may fail silently,
    leaving the volume in its previous state.  The only clue is a FileLog
    message "volume <nnnn> not in quiescent state".
    
    This is caused by a race condition in the volume package: an
    FSYNC_VOL_ON operation is attempting to preattach a volume
    (in VPreAttachVolumeByVp_r()) at the same time a fileserver RPC
    (e.g. FetchStatus) is detaching the volume (in VReleaseVolumeHandles_r())
    at the conclusion of attach2() logic.
    
    The fix calls VWaitExclusiveState_r() before calling
    VPreAttachVolumeByVp_r().
    
    Change-Id: Ib66859381d29311fda3e08984dcb740eadafb340
    Reviewed-on: http://gerrit.openafs.org/8814
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 1f891b622e9b32a068082087eae9d787057f7f00)
    Reviewed-on: http://gerrit.openafs.org/9070
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fa085d0b3c53b94cb3d582269ee7a568bfbc7ccf
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Wed Jul 31 16:00:24 2013 -0600

    do not ship uncompressed tarballs
    
    There's not much point to shipping uncompressed tarballs in 2013. Delete
    them during "make-release".
    
    Reviewed-on: http://gerrit.openafs.org/10116
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    (cherry picked from commit 0346ed6f53a6f3fb5d75de41c7ec5a139727618f)
    
    Change-Id: Ic1247c6a42ecb6a5c6bae1fd88b789a8b3e55d49
    Reviewed-on: http://gerrit.openafs.org/10131
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0e8929f9a8cddac3ad806a1adaa72e3bf108719b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Mar 13 13:27:32 2013 -0400

    Enable dvolser and tvolser for FreeBSD
    
    The top-level Makefile did not recurse into dvolser or tvolser for
    FreeBSD.  They compile just fine, so enable them.
    
    Reviewed-on: http://gerrit.openafs.org/9598
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit e93360ecc79822dd8149990a6eb5f3235b7cca1f)
    
    Change-Id: Ia7dfbce23453a147f2c1ba81718373f632a039b6
    Reviewed-on: http://gerrit.openafs.org/10122
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fe99b4883af9eee954c3a3942b11cd9874690cb0
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Tue Oct 11 12:33:19 2011 -0500

    build tsalvaged, tvolser, and dvolser targets on *nbsd*
    
    Reviewed-on: http://gerrit.openafs.org/5595
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 1ca207f18491147bb7f7de3e588fb1979ac3d0c5)
    
    Change-Id: I8570370905fa4c3bbdd72f5535329cfab5bebf1a
    Reviewed-on: http://gerrit.openafs.org/10121
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Reviewed-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 83ef563a1ffadbc965c5863d11c488d46ceffc62
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 27 13:13:21 2011 -0600

    afscp: Fix -s option for writes
    
    When writing to AFS with afscp, the -s option was sleeping before any
    StoreData RPCs actually got issued to the fileserver. Move the sleep
    to after we have done one rx_Read/rx_Write, so we sleep after starting
    to contact the fileserver, to make sleeping while writing more
    consistent with sleeping while reading.
    
    Reviewed-on: http://gerrit.openafs.org/3762
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 380cc22a45dff7e40cd50d57a56742b59ccc4952)
    
    Change-Id: I5bafad6958111bfb196adde79361939b00a176a1
    Reviewed-on: http://gerrit.openafs.org/9417
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 23048745c9b8611a4e2e24c2b7ba01e103d8cf53
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 10 15:35:17 2010 -0600

    afscp: Add -s option
    
    Add an -s option to afscp, to specify an amount of time to sleep in
    the middle of a read or write operation. This can be helpful in
    simulating a slow client.
    
    Reviewed-on: http://gerrit.openafs.org/3291
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit 00023f168e0e097c6a7e9da4450a009e4818a1a5)
    
    Change-Id: Ifefce12d7372f9f8fe7149b91af0d0a7f128cb96
    Reviewed-on: http://gerrit.openafs.org/9416
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5a89d8972d53ec913e1d7eec52955410b568aa86
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Sat Jul 27 09:22:56 2013 -0600

    doc: clarify setcrypt defaults
    
    Reviewed-on: http://gerrit.openafs.org/10111
    Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 3a24ed9baef178d34b6d0fb3a5f6a485dea9353b)
    
    Change-Id: I2d9cd3c9167e2d67ced609e5be2d173a82b36a28
    Reviewed-on: http://gerrit.openafs.org/10136
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 989b8a48c435b7561ded88dc43dfd73dcdf3c64e
Author: Michael Laß <lass@mail.uni-paderborn.de>
Date:   Sun Jul 14 21:31:27 2013 +0200

    Use -nofork when starting bosserver via systemd
    
    Systemd does not expect the started process to fork unless
    "Type=forking" is given. Use -nofork to run BOS in foreground and allow
    systemd to track its state.
    
    Reviewed-on: http://gerrit.openafs.org/10087
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Michael Laß <lass@mail.uni-paderborn.de>
    Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    (cherry picked from commit e2d458c11956af6fe721f7151487cb19f07ac16f)
    
    Change-Id: I2b66ca126dbda6c2c616d74b571908c57d1e86e4
    Reviewed-on: http://gerrit.openafs.org/10093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bd52d1a2c3cb50aba533adc44a99e9c20db27706
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 8 17:24:28 2013 -0600

    afs: Avoid SetupVolume panic
    
    Currently SetupVolume panics if it cannot successfully read a
    volumeinfo entry from disk. Try to return an error instead, so we
    don't panic the machine.
    
    Reviewed-on: http://gerrit.openafs.org/9094
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 6f7ae535bbac2a5376358801b7f2c9e072f2d141)
    
    Change-Id: Ib8ea06192bfcd6c2111444db325abc4a90190bbc
    Reviewed-on: http://gerrit.openafs.org/9131
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4d03cfc8bd6545e60ff63d206841dc8537e9d07a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 8 17:26:32 2013 -0600

    afs: Move SetupVolume tv initialization after loop
    
    The fields in tv are not used by the loop looking for the given volume
    on disk. If we wait until after that loop to initialize the fields in
    tv, it is easier to handle errors encountered in the loop.
    
    This should incur no functional change.
    
    Reviewed-on: http://gerrit.openafs.org/9093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 8f95dc9eb92cb31f9d29eb87daac747f53b5a1cc)
    
    Change-Id: I65f3b647017aebacf28026a648c75b2d279c768e
    Reviewed-on: http://gerrit.openafs.org/9130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit da2d64ce2f85e6b807a01f4a696a25fd989181b1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 2 14:09:06 2013 -0500

    afs: Check dv against localhero aincr
    
    For operations that modify directories, we call afs_LocalHero to
    determine if we can perform the directory modification in our local
    cache, and avoid fetching the dir blob from the fileserver. Currently,
    afs_LocalHero assumes that the DV received from the fileserver is
    correct, and will update the cache DV as long as we have a valid
    callback on the file.
    
    If for any reason the client cache falls out of sync with what's on
    the fileserver, this can cause the client to incorrectly believe its
    cache is up to date. Since, the cached data will be marked with the
    newest DV, even if the DV on the server has jumped to be larger than
    we expected.
    
    While the client cache should never fall out of sync with the
    fileserver, in the past this has been possible due to other bugs
    (fileserver idle dead processing and client VNOSERVICE handling).
    Assuming that the given DV is correct is also just unnecesarily
    fragile, since we can always check if it is correct, so just check it,
    and add some comments helping explain what's going on here. Note that
    regular file writes effectively already check this.
    
    Note that this change makes use of the 'aincr' argument to
    afs_LocalHero, which was previously unused. aincr appears to have been
    used for a purpose similar to this before OpenAFS 1.0, but was
    removed, possibly accidentally.
    
    It is possible this change negatively affects, or even breaks
    (unlikely), functionality with the AFS<->DFS translator. Although
    nothing of the sort has been seen, it is difficult to know one way or
    the other, due to the lack of available DFS translators.
    
    Reviewed-on: http://gerrit.openafs.org/8864
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 004e9f25634d76be58b5a60dfc3c9a058d8bcd26)
    
    Change-Id: Ie0a3ab5defc5dde3284ad7527fdd05835a85da7f
    Reviewed-on: http://gerrit.openafs.org/8898
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0c5afaca547549e788d86962c7180d5de42488b5
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Jul 8 10:53:00 2013 -0400

    Linux 3.11: Convert from readdir to iterate file operation
    
    Convert the readdir function so that it can be used as the new
    "iterate" file operation.  This new operation is passed a context
    that contains a pointer to the filldir function and the offset.
    The context is passed into the new dir_emit function that will
    call the function specified by the context.
    
    The new dir_emit function returns true on success, so we must be
    careful about how we check for failure since this is different
    behaviour from what filldir currently does.
    
    Reviewed-on: http://gerrit.openafs.org/10051
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 902b8809f03533ffa7731919930bb5178f77df6c)
    
    Change-Id: I12dc2517af66b66b2de6b2cb01d39e3a0cbc5fe2
    Reviewed-on: http://gerrit.openafs.org/10118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 984ff6cb2b3100ae3dd567c537dc3e4ae065f3ae
Author: Derrick Brashear <shadow@your-file-system.com>
Date:   Thu Jul 25 07:51:04 2013 -0400

    dirpath: update keytab strings in windows
    
    this was missed in the pullup from 33eecea7db14d06c59e1081b970d4caf0af773ca
    
    Change-Id: Iee734bf06af4152ead5cfcf33bbbcafc39812c5a
    Reviewed-on: http://gerrit.openafs.org/10109
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2f411f4f8c3e1116cb9bc515db598eda1e6cea1b
Merge: 772a378 5f5b02a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Jul 24 16:10:28 2013 +0100

    Merge branch 'rxkad-kdf-1.6' into origin/openafs-stable-1_6_x
    
    Merge the changes necessary for OpenAFS-SA-2013-003 and
    OpenAFS-SA-2013-004 back into the stable branch.

commit 5f5b02a57102af1a85fb9bdaaec31b6094d0c9c4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 17 23:10:42 2013 +0100

    ubik: Fix encryption selection in ugen
    
    Make sure that we encrypt when requested to by the application
    
    Change-Id: If4c2ba2257bf060d3e9169ccdbcae54f54dfe5d7

commit 772a378bc412d62e25dfa5d4d8b3c854ee8b604a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 15 16:55:16 2012 -0500

    viced: Rename fs_rxstat_userok
    
    The fs_rxstat_userok function can be used for other purposes; give it
    a more general name.
    
    Reviewed-on: http://gerrit.openafs.org/7571
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7a875f639f61966f2d327f929305091d2678e99a)
    
    Change-Id: I44301904cc8e7145ba13276a32b7cea475bc0574
    Reviewed-on: http://gerrit.openafs.org/9484
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
